목록전체 글 (90)
근묵자흑
O'Reilly, Liz Rice, Learning eBPF (2023) 7장 "eBPF Program and Attachment Types" 스터디 eBPF 프로그램은 커널 안에서 실행된다는 공통점이 있지만, 모두 같은 입력과 같은 권한을 갖는 것은 아닙니다. 프로세스 실행을 관찰하는 프로그램과 네트워크 패킷을 처리하는 프로그램은 서로 다른 자료를 받고, 호출할 수 있는 함수와 반환값의 의미도 다릅니다. 이 차이를 정하는 첫 번째 기준이 프로그램 타입(program type)입니다. 프로그램을 실제 이벤트 지점에 연결할 때는 연결 타입(attach type)과 연결 대상도 함께 필요합니다. 이 글에서 context는 프로그램이 실행될 때 커널이 전달하는 실행 문맥 자료, helper는 BPF 프로그램이..
O'Reilly, Liz Rice, Learning eBPF (2023) 6장 "The eBPF Verifier" 스터디 eBPF를 처음 만지면 C 코드는 멀쩡해 보이는데 로드 단계에서 Permission denied만 떨어지는 경우가 많습니다. 권한을 확인해도 문제가 없고, 컴파일도 잘 끝났는데 프로그램은 커널에 들어가지 않습니다. 이때 실제로 봐야 하는 것이 verifier 로그입니다. verifier는 BPF_PROG_LOAD 때 프로그램을 미리 따라가며 포인터, 메모리 범위, helper 인자, 반환 경로를 확인합니다. 커널이 안전하다고 판단할 근거가 부족하면 실행 전에 로드를 막습니다. 소스가 맞아 보이는 것과 verifier가 안전성을 증명할 수 있는 것은 조금 다른 문제입니다.1. 검증기는 ..
O'Reilly, Liz Rice, Learning eBPF (2023) 챕터별 스터디 — 5장 "CO-RE, BTF, and Libbpf"학습 및 실습에 관한 블로그 글입니다. 4장까지는 eBPF 프로그램이 바이트코드로 바뀌어 커널에 로드되고, 그 뒤에서 bpf() 시스템 콜이 어떻게 오가는지를 살펴봤습니다.5장은 한 걸음 더 실무로 들어갑니다. "내 컴퓨터에서 컴파일한 eBPF 프로그램을, 커널 버전이 다른 서버에서도 그대로 실행할 수 있는가?" 라는 이식성 문제와, 그 해법인 CO-RE(Compile Once – Run Everywhere, 한 번 컴파일해서 어디서나 실행), 이를 떠받치는 BTF(BPF Type Format), 그리고 유저스페이스 로더인 libbpf를 다룹니다.1. 왜 이식성이 어..
Learning eBPF 스터디의 외전.책 4장(bpf() 시스템 콜)까지 배운 지식을 기준으로, 실제 운영 환경(프로덕션)에서 사용되는 오픈소스 cloudflare/ebpf_exporter를 읽고 실행해 봤습니다.blog: https://blog.cloudflare.com/introducing-ebpf_exporter 지금까지 4개 장에서 개별 요소들을 배웠습니다. eBPF 프로그램이 컴파일되어 커널에 로드되는 과정(3장), 그 아래에서 오가는 bpf() 시스템 콜과 맵·BTF·bpf_link 같은 객체들(4장). 이번 글의 목표는 배운 요소들이 해당 오픈소스 프로젝트 안에서 어떻게 조합되어 있는지 확인하는 것을 목표로 했습니다.분석 대상으로 고른 ebpf_exporter는 Cloudflare가 201..
원문 출처: Investigating three real-world incidents in our cybersecurity evaluations — Anthropic (2026년 7월 30일)이 글은 Anthropic의 Frontier Red Team이 공개한 사고 보고서의 주요 내용을 한국어로 옮기고, 여기에 최신 동향 연구·팩트체크·개념 해설·다이어그램을 덧붙인 "K8s Annotated" 시리즈의 보안 편입니다.원문에 실린 유일한 이미지(히어로 아트워크). 출처: AnthropicTL;DRAnthropic은 자사의 사이버보안 평가(evals) 로그 141,006건을 사후 검토하다가, Claude 모델이 격리되어야 할 테스트 환경에서 실제 인터넷에 도달해 서로 다른 세 조직의 프로덕션 인프라에 무단 ..
O'Reilly, Liz Rice, Learning eBPF (2023) 챕터별 스터디 — 4장 "The bpf() System Call" 에 대한 스터디글을 담고 있습니다. 지난 3장까지는 eBPF 프로그램이 소스 코드에서 바이트코드로 변환되어 커널에 로드되고 이벤트에 attach 되는 과정을 살펴봤습니다.4장은 그 밑바닥에서 실제로 어떤 시스템 콜이 오가는지를 다룹니다. 중심에는 bpf() 시스템 콜이 있지만, 뒤에서 보듯 bpf() 하나만으로 모든 일이 이뤄지는 것은 아닙니다. 프로그램·맵·BTF 같은 객체의 생성과 조작은 bpf()가 담당하고, 이벤트에 붙이는 과정에는 perf_event_open()과 ioctl()이, 데이터 소비에는 mmap()과 epoll/ppoll이 관여합니다. 1. 책 ..
