티스토리 뷰



# 취약점 정보 







# 취약점 분석 




* Adobe Pixel Bender : 

이미지 내용을 만들거나 조작하는 데 사용되는 프로그래밍 언어로, Pixel Bender를 사용하면 셰이더라고도 하는 커널을 만들 수 있고 셰이더는 이미지의 각 픽셀에 대해 개별적으로 실행되는 단일 함수를 정의함. 


ShaderData 는 대충 이런 정보들을 담고 있다고 함. 


속성데이터 유형
nameString"DoNothing"
nameSpaceString"Adobe::Example"
versionString"1"
descriptionString"A shader that does nothing, but does it well."
srcShaderInput[A ShaderInput instance]
sizeShaderParameter[A ShaderParameter instance, with properties for the parameter metadata]
radiusShaderParameter

[A ShaderParameter instance, with properties for the parameter metadata]



Adobe 는 해당 데이터를 접근하기 위해서 다음 패키지를 제공하고 있다. 


import flash.display.Shader;


var shader:Shader = new Shader();

shader.byteCode = loader.data;



<출처: http://help.adobe.com/ko_KR/FlashPlatform/reference/actionscript/3/flash/display/ShaderData.html>









다음이 바로 데이터를 읽어서 처리하는 즉 취약점을 발생시키는 트리거 코드이다. 

 




해당 악성 SWF  파일의 공격 페이로드는 2단계로 나뉘어져 있다. 


  • 첫 번째 쉘코드는 두 번째 쉘코드를 위해 실행 가능한 공간을 할당하고 코드를 데이터를 복사한 후,

두번째 쉘코드의 첫 지점으로 점프하는 역할을 수행한다. 


      



  • 두 번째 쉘코드가 바로 공격자가 최종적으로 원하는 악의적인 행위를 수행하는 코드이다.  







참고로, 

최근 다양한 취약점(CVE-2014-0322, CVE-2014-1776, .) 에서는 Flash 상의  Array 오브젝트의 길이를  변형하고,  원하는 쉘코드를 실행하기 위해  Sound 오브젝트의 vftable 포인트를 조작하는 방법이 사용되고 있다.   

이번 취약점에서는  다음과 같이  기존의 Sound 오브젝트 대신 새로운 FileReference 오브젝트를 사용되었고,  FileReference.cancel() 함수가 호출될 때 힙 상에 올려진  공격자의 쉘코드가 실행된다. 





아직 많은 물음표(???) 들이 머릿속에 있지만  일단 요기까지~~~  ^^;;;;; 



※ 참고 : http://www.securelist.com/en/blog/8212/New_Flash_Player_0_day_CVE_2014_0515_used_in_watering_hole_attacks


댓글
  • 프로필사진 유뱃 이 내용중에 마지막에 글적으신거 이번취약점에서 부터 저 (소스사진X 내용O)까지만 퍼가뒤 될까요?..
    2014.08.20 22:55 신고
  • 프로필사진 BlogIcon redhidden 죄송합니다.. ^^ 요새 제가 제 홈피 관리에 소홀했네요..
    이제야 글 확인합니다.
    네.. 출처만 살짝 코멘트해주시면 퍼 가셔도 좋습니다. ㅋㅋㅋㅋ
    방문해주셔서 감사합니다.
    2014.08.26 18:10 신고
  • 프로필사진 savNi 취약점이 트리거 되는 부분을 디버거에서 어떻게 찾으셨는지 설명해주실수 있나요 ??? 2014.08.21 18:09 신고
  • 프로필사진 BlogIcon redhidden 답장이 좀 늦었습니다. 질문하신 부분에 답변이 될지는 모르겠지만, 플래쉬 내부의 vftable을 통해서 트리거되는 쉘코드부분을 직접 수정해서 just-in-time debugging 방식을 사용했던 것 같습니다. 저도 시일이 좀 흘려서 기억이 가물가물하네요.. ^^;;;;
    방문해주셔서 감사합니다.
    2014.08.27 16:51 신고
댓글쓰기 폼