목록전체 글 (81)
topcue
논문: A Survey of Binary Code Similarity본 논문은 binary diffing이 아닌 binary code diffing에 대한 survey를 제공한다.하지만 binary diffing과 공유될 수 있는 주요 개념/용어를 정의하고 있기도 하고, binary diffing과 binary code diffing은 상호보완적일 수 있기 때문에 정리할만한 논문이었다.특히 binary code diffing에 대한 개념/용어 정의, 어떤 분야에 사용될 수 있는지, 각 연구들을 어떻게 평가할 수 있는지(binary code diffng 한정) 등은 특히 주목할만하다.(개념과 용어 정의는 Section II.B에, binary code diffing이 쓰이는 분야는 Section IV에, ..
논문: Fight against 1-day exploits: Diffing Binaries vs Anti-diffing BinariesIntroductionThe ProblemThe AnswerBinary DiffingThe HistoryBMAT(1999)Automated Reverse Engineering(2004)Comparing binaries with graph isomorphism(2004)Structural Comparison of Executable Objects(2004)Graph-based comparison of Executable Objects(2005)The ToolsSabre Security's bindiff(2004)IDACompare(2005)eEye Binary Diffing..
보호되어 있는 글입니다.
본 내용은 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)에서 발표된 Grey-box Concolic Testing on Binary Code 논문에 대한 리뷰 글이다.사실 리뷰보다는 번역이 더 맞다.. 요약도 정리해 봤는데, 표기법과 수식을 빼니 너무 밋밋해지고 다시 넣으니 그냥 번역과 같아졌다. (요약은 너무 어려워..)해당 논문에서는 Grey-box Concolic Testing이라는 기법을 제안하는데, 여기서는 간단히 GCT라고 줄여서 부르겠다.여담으로 얼마 전 정말 운 좋게도 본 논문의 저자 중 한 분이신 KAIST SoftSec Lab의 차상길 교수님께 해당 논문을 7분 내로 요약해 발표할 기회가 있었다.특히..
IntroductionJunk Code InsertionMetamorphic CodeData EncodingOpaque PredicatesSplittingControl Flow FlatteningVirtualizationPolymorphic Code참고Introduction바이너리 난독화(binary obfuscation)의 주요 목적은 바이너리의 정적 분석 과정을 방해하는 것이다.바이너리의 심벌(변수 및 함수) 이름을 바꾸는 것은 변수가 어떤 데이터를 보유하고 있는지에 대한 정보 또는 함수명에서 동작에 대한 단서 등이 손실된다는 것을 의미한다.코드를 난독화하는 데에는 여러 가지 이유가 있을 수 있다.가장 일반적인 경우는 DRM(Digital Rights Management) 때문이다. 예를 들어, 자격..
An Overview of Symbolic ExecutionSymbolic vs. Concrete ExecutionThe Symbolic StateSymbolically Executing an Example ProgramVariants and Limitations of Symbolic ExecutionStatic Symbolic Execution (SSE)Dynamic Symbolic Execution (Concolic Execution)Online vs. Offline Symbolic ExecutionSymbolic StatePath CoverageIncreasing the Scalability of Symbolic ExecutionSimplifying ConstraintsAvoiding the Con..
Taint AnalysisDynamic Taint AnalysisDTA in Three StepsDefining Taint SourcesDefining Taint SinksTracking Taint PropagationDTA Design FactorsTaint GranularityTaint ColorsTaint Propagation PoliciesOvertainting and UndertaintingControl DependenciesShadow MemoryBitmap-Based Shadow MemoryMulticolor Shadow Memory참고 및 인용Taint Analysis오염 분석(taint analysis)이란 프로그램의 메모리에 오염(taint)이라는 특정 값을 삽입한 후, 이 데이터를 추..
IntroductionStatic vs. Dynamic Binary InstrumentationStatic Binary InstrumentationA Naive SBI ImplementationThe int 3 ApproachThe Trampoline ApproachTrampoline Control FlowHandling Indirect Control FlowReliability of the Trampoline ApproachTrampolines in Position-Independent CodeDynamic Binary InstrumentationArchitecture of a DBI System참고 및 인용Introduction컴퓨터 과학 분야에서 계측(instrumentation)이란 프로그램의 행..