It looks like you're using an Ad Blocker.
Please white-list or disable AboveTopSecret.com in your ad-blocking tool.
Thank you.
Some features of ATS will be disabled while you continue to use an ad-blocker.
phantom150
I'll put my 2 cents in as a computer and security consultant.
Points I took out.
-The person allegedly infected is a "security consultant", this would dramaticly increase the likely-hood of him becoming coming into contact with the virus. Possibly from a high-profile client? This could be a result of poor quarantine standards, ie using the USB keys between jobs.
-The 'virus' is able to infect different vendors of BIOS, hardware and operating system. If the virus was able to flash itself onto specific hardware it would unlikely to work across an apple mac to a windows desktop due to major differences in hardware and software design. For example the attacks against Irans Nuclear plants which were designed to infect the simens SCADA control box, as opposed to a stray I-phone.
-BIOS are often limited in space as it is, when they boot they run a checksum to verify the are not corrupt. If they are they often boot off a secondary physical ROM(impossible to change) and load a safe BIOS then reflash the primary. For example modern Gigabyte motherboards.
-The complexity of the said program would have to be quite large, this would be impractical to be sent across audio waves however still possible due to the very slow bitrate. One would assume a new transmission standard would need to be created as TCP/IP is not designed for this. It still is possible however, I have seen people download firmware off devices such as cameras by cycling a flashing LED over the course of days. This certainly was not packet transfer though.
-Infecting BSD/Windows/Mac/Linux all in one virus, its hard to beleive this. This would be a huge and very powerful virus and be using many unreported vulnerabilities. Worth noting that many secure systems such as aircrafts operate on systems similar to BSD.
-Ipv6? Sounds like the author is using buzzwords. Any data transferred over the network could be analysed with a packet sniffer such as "Wireshark" non of the less. It appears the author does use a similar tool but does not mention the network interface he was capturing off (lan/wlan): Big clue of something sinister been hidden from us.
-As a security consultant, the last thing he would want to do is have a uncontained worm infecting every device in is lab for weeks on end! Nor would he sit on such virus's, he has financial incentives to report zero day attacks to anti-virus software firms for big rewards
In my experience
-Bios virus's do exist, however are very rare and only really seen pre 2000 on very specific hardware. This lead to hardware switches been installed on motherboards to prevent unauthorised changes. Countermeasures against BIOS virus's were very primitive against the complex safeguards today.
-Complex worms on UNIX systems do exist, for example in large university environments where appearingly random files are generated and cannot be traced to any specific process. Most of which the administrators have ignored and have been in operation for decades.
My view is that we are getting played. It sounds like an attempt to get self promotion of the company due to the large amount of buzz words and zero evidence. I would like to be proved wrong though.
Possibly the author just has a faulty hard disk or SSD, this would explain the cross platform corruption.
jedi_hamster
reply to post by StargateSG7
a lots of 'blah blah', but you seem to skip few important details.
EVEN IF firmware embedded inside a chip (or loaded at runtime) has been compromised, the fact that the driver runs as a privileged code inside OS kernel (which isn't always the case) isn't everything - in case of many drivers (linux, *bsd) the driver's code is opensourced - and whatever the hardware chip - ANY of them, be it a soundcard, video card, or anything else - tries to do, the results are treated as data by the OS - because that's what they are. to run them as code on the CPU, the driver itself would have to be compromised - backdooring the hardware only isn't possible, unless it contains some code that gets executed directly on the CPU (and that's the case with BIOS/UEFI only), or it's the CPU itself. since the BIOS/UEFI code isn't big, it can be disassembled easily and checked for backdoors - so that rules those out. hardware chips containing backdoors are rather out of the question as well, because those would require backdoored drivers - and if you'll put a backdoor inside closed-source driver, there's no need to backdoor the hardware. backdoored drivers are out of the question as well though, because many OSes other than windows have their drivers opensourced, and even in case of windows the drivers should go through the certification process, so i guess they're checked for any malicious behaviour (and the fact that they're closed source, doesn't mean that they cannot be disassembled - they often are, so any backdoors would be discovered sooner or later anyway). the only possibility is the CPU - but the trouble i see with that is the fact that there's a not so small group of programmers tracking every change in current intel/amd architecture, down to the timings of every single opcode (for the purpose of writing faster code, doing benchmarks, optimizing compilers and so on), so unless there would be a separate specialized core, running in parallel, it would be detected - and even separate core would have some influence on memory access timings for example.
the rest of your claims are complete nonsense, trying to look technical while in reality being a mumbo-jumbo. you cannot get as high framerates as you claim from a webcam - as a matter of fact, those framerates go downhill when the lightning is insufficient, so often you cannot even get 30fps. in case of sound, mics built into laptops won't catch inaudible frequencies - those can barely catch full range of human voice. speakers? same thing - those have their frequency response cut off well below 20khz, those fancy 96khz/192khz sampling rates are possible on the line out, assuming you have a proper audio hardware connected.
i've been dealing with assembler programming at hardware level since over 20 years, including direct programming of hardware chips to maximize the software's potential, so i guess i know what i'm talking about. seriously, stop the FUD.
and when you're at it, minimize the amount of caps and exclamation points - it doesn't help you to gain credibility and makes you look like some kid that got all excited by some hacking articles and decided to spread his theories of doom without any facts to back them whatsoever.edit on 8-11-2013 by jedi_hamster because: (no reason given)
jedi_hamster
reply to post by StargateSG7
you have two options:
option number one, provide links to your research, source code and everything that backs up your claims.
option number two, stop lying, because what you're throwing out here is a bunch of technical nonsense, designed to make you look smart while in reality it's just one fairytale after another. don't make me point out every single lie you've made in this thread with facts backed up by hardware and software specifications. just back off, kid. back off for your own good.
jedi_hamster
reply to post by StargateSG7
your links prove absolutely nothing. there is not a single one of them giving any piece of your code. direct hardware access code written by you? something that bypasses regular hardware access methods like you've described? anything that validates something that you claim you DID, and that validates that YOU did it?
you want code? fine then. here's a little piece of code written by me some time ago. it's a very simple code, so a hacker like you with so many years of expertise in assembly programming will no doubt not only explain what it does, but also will describe the exact algorithm used and will point out the exact two assembly instructions missing from the very beginning of said code, required to make it work. go ahead, show us that you are who you claim to be.
wklej.org...
if you won't, you'll prove that all you're doing here is spreading lies. just because you've read some quotes on the web and catched few technical phrases that you think you understand, doesn't mean you can throw it all here, twisted by some sick doom fantasies to feed those without enough technical expertise with BS to make yourself feel worshipped as some sort of pseudo-hacker and whistleblower-wannabe. usually i'm ignoring trolls, but the amount of disinfo, hoaxes and outright crap you're trying to push down people's throats here is a disgrace to this community.edit on 9-11-2013 by jedi_hamster because: (no reason given)
reply to post by StargateSG7
This initial RGB Palette Setup entry challenge
is possible...I should note it is actually NOT easy...but first thing is first ...
reply to post by StargateSG7
xor ax,ax // ax := ax XOR ax Bitwise XOR of the AX register
reply to post by StargateSG7
mov dx,03C8h // allow 256 entries in the indexed colour palette
out dx,al // read palette entry and put into DX register
inc dx // dx := dx + ONE // increment palette entry value by one.
reply to post by StargateSG7
push ax // get ax from the procedure or function stack i.e. First_Parameter
ax := ax + 1; // increment ax (First_Parameter) by one.
// equivalent to First_Parameter := First_Parameter + ONE;
pop ax // put the incremented ax back onto the stack
reply to post by StargateSG7
// ====== Something really should go here since this POP and PUSH is a useless statement unless
// you are doing concurrent programming where his register is accessed by another routine or process
//setting another value and then you need to set a PROTECTED INSTRUCTIONS flag.
reply to post by StargateSG7
==== This Doesn't seem so simple to me!
==== just piddling around here...will convert and rewrite as I see each routine ---
seems like a line , shape drawing or colour palette cycler --- not quite fully sure yet....
I convert to pascal and then will see what it actually does in terms of pixel manipulation
RUNNING THIS IN MY HEAD to see what each sub-routine actually does to an individual colour value
and/or palette index entry --- kinda hard to do when I'm not in front of my work computer in my compiler IDE.
and WHY you want to do it...have not assembled it --- doing it all in my head!
reply to post by StargateSG7
I know what you're going to say...but it's how I UNDERSTAND what other coders write.
I convert the labels to sub-routine blocks and parameterize them into pascal/c++ procedures
and functions and then re-write to something I can actually understand --- something like this:
jedi_hamster
reply to post by StargateSG7
This initial RGB Palette Setup entry challenge
is possible...I should note it is actually NOT easy...but first thing is first ...
right. you forgot about the two instructions missing, but i'll leave that to the end
reply to post by StargateSG7
xor ax,ax // ax := ax XOR ax Bitwise XOR of the AX register
oh rly? and how about ax = 0? because that's what xor does in this case - any assembler programmer would know that. FAIL.
reply to post by StargateSG7
mov dx,03C8h // allow 256 entries in the indexed colour palette
out dx,al // read palette entry and put into DX register
inc dx // dx := dx + ONE // increment palette entry value by one.
BS. out dx,al sends the index of the first color in al (so 0) to the port 03C8h, then inc dx increases the port number by one - all rgb entries go to that port afterwards, and palette index set to 0 via port 03C8h gets increased automatically after each 3 values (rgb). FAIL.
reply to post by StargateSG7
push ax // get ax from the procedure or function stack i.e. First_Parameter
ax := ax + 1; // increment ax (First_Parameter) by one.
// equivalent to First_Parameter := First_Parameter + ONE;
pop ax // put the incremented ax back onto the stack
seriously, kid? a programmer with years of expertise in assembler coding confuses push and pop? FAIL.
reply to post by StargateSG7
// ====== Something really should go here since this POP and PUSH is a useless statement unless
// you are doing concurrent programming where his register is accessed by another routine or process
//setting another value and then you need to set a PROTECTED INSTRUCTIONS flag.
or your statement is a bunch of useless BS because you have no idea about assembler programming - especially size-optimized coding, which you should be aware of when doing the stuff you've claimed to do.
bling: push ax - ax on the stack for future reference
inc ax - ax = ax+1
and al,0Fh - self-explanatory, sets cpu flag
pop ax - get old value of ax back
push ax - ax on the stack for future reference again
ror ax,2 - self-explanatory
je ps1 - conditional jump according to the flag set by and al,0Fh
ax gets backed up on the stack, then and is performed to set the flag for conditional jump, then ax gets restored before the jump.
once again, you FAIL.
reply to post by StargateSG7
==== This Doesn't seem so simple to me!
==== just piddling around here...will convert and rewrite as I see each routine ---
seems like a line , shape drawing or colour palette cycler --- not quite fully sure yet....
I convert to pascal and then will see what it actually does in terms of pixel manipulation
RUNNING THIS IN MY HEAD to see what each sub-routine actually does to an individual colour value
and/or palette index entry --- kinda hard to do when I'm not in front of my work computer in my compiler IDE.
and WHY you want to do it...have not assembled it --- doing it all in my head!
real assembler programmer with years of expertise would never, EVER, try to represent assembler code as some form of pseudo code like you did. it's actually easier to think in assembler directly (for higher level of abstraction there is C)... as long as you understand it. which you don't - this routine creates a palette of white-blue gradient-black bands, 16 colors wide, so that later when all points get decremented by 17 in every frame, points fade from white through blue to black. you FAIL.
reply to post by StargateSG7
I know what you're going to say...but it's how I UNDERSTAND what other coders write.
I convert the labels to sub-routine blocks and parameterize them into pascal/c++ procedures
and functions and then re-write to something I can actually understand --- something like this:
and what can i say? you're trying to rewrite my assembler code as some form of pseudocode to make you look smart and to make those that believed in your posts so far to think that you know what you're talking about. but you actually don't, you don't have the slightest idea what this code is about - you don't understand anything. FAIL.
i won't even comment the rest of your post - it's a random conversion routine copy-pasted from somewhere, while you didn't actually analyze the most of the remaining code i've pointed you at - and you've failed miserably at an attempt to analyze the first few lines. you know NOTHING about assembler programming, you've LIED to the ATS readers, and that proves that everything else that you've said - that was so heavily backed up by 'i did it', 'it is easy when you know how' - is nothing but a bunch of lies as well.
by looking at some variables in my code (320, 200) you should figure out what it does, more or less - you could google it and find it on github as well, together with first two lines, being video mode initialization:
mov al,13h
int 10h
if you would have ANY idea about assembler programming, you would immediately notice that this is a 16bit mode code (using some 32bit opcodes and fpu for random number generator and 3D calculations), using segmentffset addressing. that implies it should be running in a dos mode, and that it should be compiled to a .com file - if you would do that, you would know what it does.
and here it is:
www.pouet.net...
demoscene stuff - optimized for size, displaying a 3D starfield in old VGA 320x200x256 video mode, done in 256 bytes.
seriously, i didn't even laugh at your analysis - it's so pathetic attempt at fooling the ATS readers to believe that you have ANY knowledge whatsoever, while in reality you're just posting random bits of BS, made from some stuff you've found on the web and twisted to support your doom crap, that you should get banned from ATS, because spreading deliberate lies/hoaxes is against T&C here.
you're done here, kid. go tell your fairytales somewhere else, perhaps you'll find a community willing to believe your BS so that you won't get your ego burned. ATS isn't such community.
EOTedit on 10-11-2013 by jedi_hamster because: (no reason given)
StargateSG7
reply to post by StargateSG7
-----
P.S. when I get some SERIOUS hand-coded assembler TRAINING/RETRAINING...I think
I MIGHT STILL be able to whup ya some serious coding A*&%^*&&* .....he he he!