1 din 2
1
Vulnerabilitate SSL pe iOS 6,7 & OSX 10.9
  [ Ignoră ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Cred ca toata lumea a auzit de marele scandal cu vulnerabilitatea SSL de la Apple. A apărut până și la știri la Antena 3 smile

Apple, supărat că OpenSSL tot schimba API-urile între versiuni, și-a făcut propria librărie de SSL.

Această librărie există și este folosită doar pe iOS 6, 7 și OS X 10.9. Celălalte versiuni de iOS și OSX nu sunt vulnerabile. Puteți verifica la: https://gotofail.com

Partea veselă este însă “implementarea” acestui bug.

Cităm din codul sursă:

static OSStatus
SSLVerifySignedServerKeyExchange
(SSLContext *ctxbool isRsaSSLBuffer signedParams,
                                                                  
uint8_t *signatureUInt16 signatureLen)
{
        OSStatus err
; ...

        if ((
err SSLHashSHA1.update(&hashCtx;, &serverRandom;)) != 0)
                goto 
fail;
        if ((
err SSLHashSHA1.update(&hashCtx;, &signedParams;)) != 0)
                goto 
fail;
                goto 
fail;
        if ((
err SSLHashSHA1.final(&hashCtx;, &hashOut;)) != 0)
                goto 
fail; ...

fail:
        
SSLFreeBuffer(&signedHashes;);
        
SSLFreeBuffer(&hashCtx;);
        return 
err;

Se prinde cineva unde este buba grin Și dacă da, poate să o explice frumos și la persoanele non-tehnice ? Să vă văd, programatorilor …

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 1 ]
Avatar
RankRankRankRank
Administrator
Din: London, UK
Macuser din: 11.10.05

http://xkcd.com/292/

 Semnătură 

MB12 early2015, mini late2018, i2, i4S, iX, Watch Nike (Series3), iPad 1, iPad Pro 9.7”,  Pencil, shuffle 4, TV4, AExtreme x2, AEBSv2, AEBS original(x2) v1(x2), Homepod (x2), iPod Hi-Fi (x3)

Profil
 
  [ Ignoră ]   [ # 2 ]
Avatar
RankRankRank
Member
Din: Sibiu
Macuser din: 30.08.07

goto fail; - de doua ori?

 Semnătură 

Mac 4 Ever!

Mac Mini Late 2012
Intel i5 @ 2,5 GHz / Intel HD 4000 / 500 GB HDD

iPad Mini 4G

Profil
 
  [ Ignoră ]   [ # 3 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

Uite ochiul ager smile
La prima vedere pare doar o mică eroare fără semnificație - că oricum după primul jump către “fail”, al doilea nu mai apuce să se execute.
Greșit.
Sintaxa lui if în C este if (condiție) comandă;
O singură comandă care se execută dacă condiția este validă.
In C, poți grupa mai multe comenzi ca una singură cu acolade { }
if (condiție) { comandă; comandă; … };

Buba în bucata asta de cod este că acele două “goto fail;” NU sunt între acolade;
Deci al doilea “goto fail;” este o comandă de sine stătătoare care se va executa imediat după acel if. Deci bucata asta de cod va face “goto fail;” de fiecare dată, indiferent ce se întâmplă.
Problema cu acea săritură la “fail” este că nu se mai verifică cheia trimisă de criptare trimisă de server în timpul unei conexiuni.
Un Gigi-Rău poate să se “bage” peste o conexiune criptată în progres, să schimbe cheia cu al lui și să citească (și modifice) tot traficul pe care tu îl credeai super-securizat.

Whoopsie red face

Există și un concurs pentru cod necinstit - http://underhanded.xcott.com - pentru programe care la prima vedere sunt corecte dar de fapt ele fac altceva.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 4 ]
Avatar
RankRankRankRank
Administrator
Din: London, UK
Macuser din: 11.10.05

nu stiu daca are vreo legatura, dar mie de 2 zile nu-mi mai tine Safari minte parolele (cookies). Trebuie sa ma logez pe orice site la fiecare 10 minute…  angry

 Semnătură 

MB12 early2015, mini late2018, i2, i4S, iX, Watch Nike (Series3), iPad 1, iPad Pro 9.7”,  Pencil, shuffle 4, TV4, AExtreme x2, AEBSv2, AEBS original(x2) v1(x2), Homepod (x2), iPod Hi-Fi (x3)

Profil
 
  [ Ignoră ]   [ # 5 ]
Avatar
RankRankRankRank
Moderator
Din: Cluj-Napoca
Macuser din: 26.01.06

zici ca ar fi borland pascal, n-am mai vazut asa ceva in C.

 Semnătură 

Mcintoshing…

Profil
 
  [ Ignoră ]   [ # 6 ]
Avatar
RankRankRank
Member
Din: București
Macuser din: 21.04.12
huk - 25 Februarie 2014 11:27 AM

nu stiu daca are vreo legatura, dar mie de 2 zile nu-mi mai tine Safari minte parolele (cookies). Trebuie sa ma logez pe orice site la fiecare 10 minute…  angry

Vezi ca esti in Private Browsing.

Profil
 
  [ Ignoră ]   [ # 7 ]
Avatar
RankRankRank
Member
Din: Brasov
Macuser din: 12.05.09

rezolvare provizorie :http://www.sektioneins.de/en/blog/14-02-22-Apple-SSL-BUG.html

 Semnătură 

Why join the navy if you can be a pirate ?
Steve Jobs

MacBook Pro Retina late 2012 256 ssd
iPad Air Wifi 16gb 8.1
iPhone 6s plus 64gb iOS 11.2.2

Apple TV 2 5.2 jailbroken

Profil
 
  [ Ignoră ]   [ # 8 ]
Avatar
RankRankRank
Member
Din: București
Macuser din: 21.04.12
psergiu - 24 Februarie 2014 05:00 PM

Cred ca toata lumea a auzit de marele scandal cu vulnerabilitatea SSL de la Apple. A apărut până și la știri la Antena 3 smile

Apple, supărat că OpenSSL tot schimba API-urile între versiuni, și-a făcut propria librărie de SSL.

Această librărie există și este folosită doar pe iOS 6, 7 și OS X 10.9. Celălalte versiuni de iOS și OSX nu sunt vulnerabile. Puteți verifica la: https://gotofail.com

Partea veselă este însă “implementarea” acestui bug.

Cităm din codul sursă:

static OSStatus
SSLVerifySignedServerKeyExchange
(SSLContext *ctxbool isRsaSSLBuffer signedParams,
                                                                  
uint8_t *signatureUInt16 signatureLen)
{
        OSStatus err
; ...

        if ((
err SSLHashSHA1.update(&hashCtx;, &serverRandom;)) != 0)
                goto 
fail;
        if ((
err SSLHashSHA1.update(&hashCtx;, &signedParams;)) != 0)
                goto 
fail;
                goto 
fail;
        if ((
err SSLHashSHA1.final(&hashCtx;, &hashOut;)) != 0)
                goto 
fail; ...

fail:
        
SSLFreeBuffer(&signedHashes;);
        
SSLFreeBuffer(&hashCtx;);
        return 
err;

Se prinde cineva unde este buba grin Și dacă da, poate să o explice frumos și la persoanele non-tehnice ? Să vă văd, programatorilor …

Ok, este o greseala in cod, asta se poate intampla chiar si la case mari, as fi dispus sa o trec cu vederea.
Ce nu inteleg eu este altceva: de unde a aparut acest cod sursa? Aplicatia nu este protejata la “revers engineering”? Asta e cu mult mai grav decat greseala din cod.

Profil
 
  [ Ignoră ]   [ # 9 ]
Avatar
RankRankRankRank
Administrator
Din: The Colony, TX
Macuser din: 11.10.05

De aici: http://opensource.apple.com/source/Security/Security-55471/libsecurity_ssl/lib/sslKeyExchange.c

Hello ... Mac OS X este Open Source. Si iOS la fel. De la inceputul istoriei. Uite aici: http://opensource.apple.com/

PS: Cine se refera la OS X sau iOS ca “sistem inchis” sau “sistem proprietar” cam mananca Rahan.

 Semnătură 

Apple:5x macmini (G4, 2007, 2009, 2010, 2012)
UNIX:IBM 7011-250/AIX 5.1, HP Jornada 680/JLime, HP 9000 F20/HP-UX 11.11
PC:PentiumD/Debian, HP t5300/Debian
Misc:Spectrum 48k, 8x Raspberry Pi, 2x CHIP

Profil
 
  [ Ignoră ]   [ # 10 ]
Avatar
RankRankRank
Member
Din: București
Macuser din: 21.04.12

Man, eram ferm convins ca tot ce este legat de securitate, nu este Open Source ci proprietar, tocmai pentru a se feri de acest tip de probleme. Mai am de invatat ...

Profil
 
  [ Ignoră ]   [ # 11 ]
Avatar
RankRankRankRank
Sr. Member
Din: București
Macuser din: 23.03.09

Ce nu pricep eu este ce așteaptă Apple ? Avem un 0day mare cât China.
Pentru un bug de grădiniță de genul ăsta n-ar trebui să mai ridice privirea din pământ ani de zile.
Normal era să iasă cu patchul pentru OS X în secunda 2, cum au făcut cu iOS 7.0.6.

Au pus un honeypot să vadă cine exploatează bug-ul ?

Să nu uităm, prin diverse mecanisme precum manipulare de rute bgp băieți deștepți cu resurse pe măsură pot intercepta hălci mari de trafic internet.
Considerați toate conturile iCloud compromise. Nu știți dacă icloud.com pe care v-ați logat nu era un man-in-the-middle.

Firefox, Chrome pe OS X nu sunt vulnerabile.
Safari, iMessage/OS X, Mail, toate aplicațiile iCloud-enabled, Software Update, Apple Push Service, sunt toate vulnerabile. Pe OS X 10.9 .

Și nu în ultimul rând, când scoate Apple patch-ul pentru OS X ar fi bine să verificați (cu Chrome, Firefox) sumele de control SHA publicate ... Mac AppStore / Software Update folosesc librăria SSL vulnerabilă ...  guy

 Semnătură 

Mac Mini Intel MGEN2LL/A, MC815LL/A - Sierra, MC239LL/A - ESXI 5.5, MB138LL/A Lion
Power Mac G4 M8787LL/A OpenBSD/macppc
Power Mac G5 Leopard
AppleTV2, iPhone 6+/64, iPhone 4, iPhone 2G

Profil
 
  [ Ignoră ]   [ # 12 ]
RankRankRank
Member
Din: Bucuresti
Macuser din: 28.09.06

http://www.macrumors.com/2014/02/25/osx-update-ssl-facetime-audio/

Profil
 
  [ Ignoră ]   [ # 13 ]
Avatar
RankRankRankRank
Sr. Member
Din: București
Macuser din: 23.03.09

Meh, cât mă rățoiam eu pe forum ieșise patchul ...  red face

 Semnătură 

Mac Mini Intel MGEN2LL/A, MC815LL/A - Sierra, MC239LL/A - ESXI 5.5, MB138LL/A Lion
Power Mac G4 M8787LL/A OpenBSD/macppc
Power Mac G5 Leopard
AppleTV2, iPhone 6+/64, iPhone 4, iPhone 2G

Profil
 
  [ Ignoră ]   [ # 14 ]
RankRankRank
Member
Din: Bucuresti
Macuser din: 28.09.06

Bine ca a iesit…oricum, ce s-a intamplat cu ultimul OS imi depaseste asteptarile :(
...macar e rapid.

Profil
 
  [ Ignoră ]   [ # 15 ]
Avatar
RankRankRank
Member
Din: București
Macuser din: 21.04.12

Acum a iesit Mav 10.9.2, probabil au rezolvat si bugul asta.

Profil
 
   
1 din 2
1