2025/05/12 2

소프트웨어 디자인 : 설계 철학에 대하여

저는 카이스트 정글 수료생입니다. 권영진 카이스트 교수님의 OS 강의 중 추천해주신 영상을 정리해보았습니다.정말 감명깊게 봤고 최대한 의미가 왜곡되지 않도록 작성해보았습니다만 정말 좋은영상이니 직접 보시는걸 추천드립니다. A Philosophy of Software Design | John Ousterhout | Talks at Google 모든 내용은 강의자 입장에서 정리하였습니다.제 개인적인 생각은 "인용구"를 통해서 작성하였습니다.문제 쪼개기 (Problem Decomposition) 만약 당신이 Computer Science 분야에서 가장 중요한 컨셉을 하나 고른다면 무엇을 고를 것인가?Abstraction (추상화)Testing (테스트)Complexity (복잡도)Layers of Abst..

tcpdump 코드 해석하기 (BPF Door)

BPF Door 공격에 대해 찾아보면서 대응 방법 중 "Magic Sequence"를 검색하는 방법에 대해 알게되었다. sudo tcpdump -i eth0 'tcp[((tcp[12] & 0xf0) >> 2):4] = 0x1234abcd' 이 코드를 분석해보면 'tcp[((tcp[12] & 0xf0) >> 2):4] = 0x1234abcd' 에 해당하는 데이터가 발견되면 catpure 하라는 뜻이다. tcp[12] : data offset(4bit) + Reversed(3bit) + NS (1bit) data offset 부분은 tcp packet의 헤더의 길이를 32bit(4byte) 단위로 알려준다.4bit 이므로 값이 0x4 라면 해당 TCP 패킷의 크기는 16byte라는 뜻(tcp[12] & 0x..