Thursday, October 20, 2011
LDE based on exceptions
Wednesday, September 21, 2011
Hardware breakpoints
Thursday, September 15, 2011
Free energy. Conspiracy of fools. Welcome to the dungeon!
As I have promissed before, I have translatted several posts from my russian blog, hence the oddity of the title.
pr0mix have posted the news anywhere on forums and blogs, but I nonetheless would like to remind anyone outhere that the third issue of the EOF magazine is out. Well, you of all people, teh drama and scene need one another - izee was so upset about another magazine, that he attacked hh86, rgb and SPTH and was so angry that he "forgot" to write the editorial and make the layout for his own magazine. It seems that fAMINE is with him on that and no one would see an updated Tristram.
There is my article («Advanced EPO: Deeper, longer and harder (Part 1)») about using debugging to find an optimal place for the EPO. I am still thinking about Part2 - using static analysis for the same goal. Also I was interested in the works presented by F0g and pr0mix. I hope that EOF will gladden us for many many years.
In these latter days the fresh VirusBulletin is leaking regularly. Apart from "our captive fan" Peter Ferrie, there are more curious things in the magazine. The John Aycock's article «Stux in a rut: Why Stuxnet is boring» made my day. Someone ought to say this before: Stuxnet is boring. The same could be said about other overhyped malware. Surely, these are professional projects, yes they are consisting of many parts, yet I can't see any transformation of quantity into quality. We have seen all of these before.
Hereafter Aycock listed three conditions of the break-through technology:
- Do defences have to be changed in a substantial way to respond to the threat?
- Does the threat constitute a major shift in motivation for the adversary?
- Is the adversary using a new business model?
From this point of view polymorphism and macro viruses are pivotal inventions, while Morriss worm and metamorphism aren't. Finally, the quote which drew my attention: ‘Good’ defences are the ones that keep adversaries in a sweet spot, where the adversary succeeds enough to be satisfied but doesn’t fail enough to evolve. It’s a strange notion, that losing the security game once in a while might be necessary to strike a healthy balance overall.
. I thought here that the same could be applied to an AV vendors as well, and even in a greater degree. The weird spiral of silence come out: both "white" and "black" hats preffer to make a short-term investments in the things like optimization of the engines, automatical signature extraction, rewriting packers and cryptors. We have a hundreds of jerks who rootling semi-automatically for signatures on one side, and the same jerks who semi-automatically clean the detection out on another. Cash flows, so far, so good.
But I hope that amateurs, academics and other comrades who isn't bound by IT Sec market's money will ruin this idyll down to the fucking bottom.
While I was reading Kurt Wismer's blog I found the video bout Brain authors. Those who don't follow the VX Heavens RSS might be interested in Greg Benford's story in the CACM about how he wrote one of the first worms in Fortran. And finally Morgot restored the rootkits.su website and moved his fasm.su project to my host. Those of you who like batch, say "Hi, cOrRuPt G3n3t!x".
Phew! It seems that's all
Highway to libc
Monday, August 22, 2011
Entropy with integers
Tuesday, August 16, 2011
No fucking chance... to AV!
A note on Cohen's proof of undecidability of generic virus detection
Friday, August 12, 2011
Bzz...
Friday, July 22, 2011
Something about EPO
$ ./date Fri Jul 22 [ Entering tracer Work's done. Virus is OK!] 14:48:38 EEST 2011nevertheless would be released in EOF#3 ;-)
Wednesday, July 20, 2011
Off-by-page error while unmapping
270 static unsigned long elf_map(struct file *filep, unsigned long addr, 271 struct elf_phdr *eppnt, int prot, int type) 272 { 273 unsigned long map_addr; 274 unsigned long pageoffset = ELF_PAGEOFFSET(eppnt->p_vaddr); 275 down_write(¤t->mm->mmap_sem); 276 /* mmap() will return -EINVAL if given a zero size, but a 277 * segment with zero filesize is perfectly valid */ 278 if (eppnt->p_filesz + pageoffset) 279 map_addr = do_mmap(filep, ELF_PAGESTART(addr), 280 eppnt->p_filesz + pageoffset, prot, type, 281 eppnt->p_offset - pageoffset);Then I tried to munmap the process' segments I did munmap(p_vaddr & 0xffff000, (p_filesz + 4095) & ~4095) And this was wrong, sometimes this produced
Pasting posts from the past
Writing to executable (and currently running) file
open(argv[0], O_RDWR);You will get the ETXTBSY error. It seems that the only way to do is to unmap all process memory (both text and data):