각 클라우드 스토리지 서비스 제공자별로 사용자의 활동이 어느정도 수준으로 어떤 부분이 기록되는지를 파악함
Box 클라우드 스토리지 서비스에서는 서비스 내부적으로 어떤 툴을 사용하였는지도 기록함
내부 API 트래픽을 분석하여 파일 활동 로그 기반 10가지 주요 사용자 행위 식별 방법론 제안
각 서비스 제공자별 공통 필드가 무엇이며, 각 서비스별 특징적인 필드가 무엇인지를 확보
비공개 API를 대상으로 진행한 연구이기 때문에 API 구조 변경 가능성 있음, 법적 근거로 사용되기 위해서는 제대로 된 법적 절차를 밟아야 함
macOS 환경에서의 카카오톡 데이터베이스 복호화
macos용 카카오톡 데이터베이스 복호화 방안 연구의 후속 연구
MacOS용 카카오톡 바이너리는 ARM, X86이 섞여있는 형태였음
카카오톡 데이터베이스 파일명, 데이터베이스 키 생성은 Device UUID와 SHA를 사용하여 생성됨
유저, 단체채팅 디렉터리 이름은 이름을 역순으로 뒤집는 등의 난독화?를 거쳐 생성됨
위 키 생성 원리를 역순으로 진행하면 카카오톡 채팅방에 있던 이미지 등을 복호화 하는게 가능함
코드가 현실이 될 때: LLM 기반 로봇 제어 코드의 안정성 위험 분석 및 대응 가능성 연구
코드 수준의 오류는 로봇 동작으로 반영됨 LLM 수준의 오류도 동작으로 반영, 즉 현실로 이어짐
LLM 생성 제어 코드를 ROS2 환경에서 실제 실행해봄
생성한 코드를 별도의 수정 없이 즉시 ROS2 환경에 적용한 것이 핵심
validator 기반 mitigation 기법, LLM이 생성한 코드를 validator를 통해 안정성 검사 수행, 규칙 기반으로 동작함
4개의 주요 목표, 20개의 환경으로 총 80개의 시나리오를 사용
Failure는 충돌, 비정상 동작, 목표 미도달, 실행 실패로 정의함
코드의 구조적 문제로 인한 실행 실패는 개선하지 못한 것을 알 수 있음 과도한 전진, 공격적인 이동이 줄어들어 더 안정적인 제어가 이루어진 결과로 해석이 가능함
굳이 LLM 코드를 바로 로봇에 적용시킬 때 저런 위험 요소를 줄인다기 보다는 QA 자체를 더 강화하는게 결과적으로는 더 효율적이지 않을까?
validator 기반 mitigation 기법에서 어떻게 위험한 코드를 인식하는지?
C-to-Rust 변환 시 발생하는 원시 포인터 문제와 해결 방안 연구 동향
규칙기반, 정적 분석 기반, LLM 기반
정적 분석 기반은 빠른 처리가 장점
LLM 기반의 경우 C2SafeRust가 있음
정적 분석 기반으로 변환된 코드를 LLM이 실행을 통해 원본 코드와 동일하게 작동하는지를 검증한다.
Sactor 또한 LLM 기반, C 코드를 보존하는 비 Rust 코드로 변환, 이후 Crown 분석 후 LLM으로 Rust로 변환함
Deepseek R1이 가장 좋은 결과를 냄
한계 : 외부 C 라이브러리 의존성, 복잡한 데이터 구조, 형식적 정확성 보장 부재
컴파일 통과 후 종단간 암호화 테스트?를 거쳐도 모든 경우에 원본과 동일한 동작을 한다고 보장할 수 없음
대규모 언어모델의 보안 위협 및 대응 기법 동향: Prompt Injection과 Jailbreak 공격 중심
기존 안전 정책만으로는 LLM을 대상으로 하는 공격을 막기 힘듦
모델이 어떤 지시를 신뢰하고 따라야 하는지에 대한 문제이다.
실제 서비스 환경에서는 여러가지 tool과 결합되어 나타날 수 있음
LLM 보안은 프롬프트 문제가 아닌 LLM과 연관된 시스템 전반에 대한 문제
LLM 공격에 대한 위협으로는 프롬프트 인젝션, 탈옥 등이 있음
프롬프트 인젝션 : 시스템 프롬프트나 외부 입력에 악의적인 내용을 추가하여 원래 기능과 다른 기능을 하게 하는 것, RAG이나 에이전틱 환경에서 더 위험성이 커진다.
Direct 프롬프트 인젝션은 사용자가 직접, Indirect는 웹페이지 등에 악의적인 프롬프트를 숨기는 것, RAG을 대상으로?
실제 서비스에서는 Indirect Prompt injection이 더 위험할 수 있음
Jailbreak는 학습, 정렬 과정에서 갖게 된 안정 정책을 우회하는 것을 목적으로 함. 이전까지는 사용자가 직접 Jailbreak prompt를 작성하는 형태였지만 현재는 멀티턴, 자동 최적화, 이미지 기반 공격 등 여러가지 공격 수법이 사용되고 있음.
최근 공격은 사용자가 직접 프롬프트를 작성하는 것이 아닌 에이전트, 자동화를 적극적으로 사용하는 추세
멀티턴 에이전트 환경을 고려하여 단순한 프롬프트 방어가 아닌 LLM 시스템 전반에 대한 방어가 중요해짐
Agentic AI 보안 취약점 대응을 위한 Zero Trust 기반 아키텍처 설계
기존 보안 모델로는 Agentic AI에 충분한 수준의 보안을 제공할 수 없음
공통적인 취약점으로 내부 구성 요소를 신뢰한다는 것이 있음, 이를 해결하기 위해 제로 트러스트를 도입할 수 있다.
제로 트러스트의 필요성? 내부 에이전트에 대한 지속적인 검증이 필요, 내부 에이전트가 공격자에게 탈취당하거나, 오염된 경우 신뢰하지 않아야 함
에이전트가 작동 과정에서 생성한 코드가 안전한지를 검사해야 함
지식 그래프 기반 시각 표현 보정을 통한 LVLM 복원 연구
Prefix Tuning 기반 출력 행동 LLM 핑거프린팅 기법을 이용한 무결성 검증
필요성 : LLM은 제 3자 운용 과정에서 원본 LLM에 추가 파인튜닝, 압축, 교체, 백도어 삽입 등의 변조가 발생할 수 있음
prefix tuning이란 대규모 언어모델의 모든 파라미터를 고정한 후 입력 앞에 학습가능한 prefix embedding을 추가하여 모델의 동작을 조정하는 기법
모델 가중치에 직접적으로 접근이 불가능한 상태에서 유용하다?
인간과 AI의 시각적 인지 차이를 활용한 적대적 피싱 로고 생성 기법
이 발표는 방어가 아닌 공격 관점, AI 모델이 피싱 사이트에서 로고가 일반적인 회사의 로고와 비슷하다고 판단할 경우 피싱 사이트로 분류하는데 사람의 입장에서는 충분히 원본 로고와 유사하게 보이지만 AI 입장에서는 피싱 사이트라고 분류하지 않을 수준으로 다르게 보이는 로고를 생성하는 방법을 제시함
에이전틱 AI 환경에서의 데이터 과다 수집 위협 분석
과도한 정보 노출로, 민감하지 않은 정보들이 민감 정보로 합성될 가능성이 있음, 필요한 필드만을 출력함으로써 이와 같은 문제를 예방한다.
Atomic Read를 통해 최소 단위 데이터를 반환한다.
하지만 대부분의 MCP의 경우 재사용성과 개발 편의성을 위해 정보의 최소화 원칙을 지키지 못하고 있다. 단 한번의 도구 호출만으로 민감한 정보 노출이 가능.
현실적으로 Atomic Read로 전부 전환하는건 불가능함, 관리 복잡도 증가, 도구 선택 오류 가능성, 레거시 지원 등의 문제가 있음
기존의 데이터 유출 방지 솔루션의 범위를 MCP 도구 호출에서도 적용해야 한다. 단순 키워드 필터링이 아닌 MCP가 사용자의 프롬프트를 이해하는 수준
이미지 생성 모델의 개념 억제 연구 동향과 향후 연구 방향: 제어 장벽 함수를 중심으로
제어 이론 : 동역학계에서 시스템을 원하는 방향으로 작동하는 것
대규모 환경에서의 Tor 트래픽 상관 분석을 위한 근사 최근접 이웃 탐색 기반 기법
Evaluation of eBPF-Based Kernel-Level Data collection for controller area network intrusion detection systems
LLM 기반 단일 에이전트와 다중 에이전트 시스템의 보안 양상 비교
단일 에이전트에서는 입력, 권한 경계를 보호 다중 에이전트에서는 관계, 전파, 거버넌스 보호가 중요함
같은 공격 형식이더라도 단일 에이전트보다 다중 에이전트에서 더 큰 피해가 발생한다. 피해가 로컬에서 네트워크 전체로 전파됨
반드시 해야 하는 일은 데이터 전달로 L3와 동일하다. 하지만 end to end가 아닌 Per hop Behavior를 한다. 줄여서 PHB
L3의 경우 가장 중요한 정보가 IP였고, L2의 경우 MAC Address가 가장 중요하다.
L2는 Logical Link Control, Media Access Control로 나눠진다.
Framing: 네트워크 계층 데이터에 헤더를 붙여 프레임화
Physical Addressing: MAC 주소 사용
Flow Control: 수신 측이 감당 가능한 속도로 맞춤
Error Control: 오류 검출 및 재전송
Access Control: 공유 매체를 누가 쓸지 결정
LLC란 무엇이고 왜 사용하는지, 어떻게 작동하는지를 알아야 한다.
LLC를 알기 위해서는 Logical Link가 뭔지를 먼저 알아야 한다. Logical Link의 상대어는 Physical Link이다.
Logical, Conceptual, Virtual은 동일하게 쓰이는 단어이다. 이러한 단어들의 상대어가 바로 Physical이다. Physical은 실존하는, Logical의 의미는 논리적인.
LLC는 하나의 Physical Link를 시간 단위로 나누는 등의 수단을 통하여 여러개의 Physical Link처럼 사용하게 하는 기술, TDMA, FDMA, CDMA, OFDMA가 예시, 현재는 OFDMA를 사용한다. 이러한 과정을 multiplexing한다 라고 하며, 줄여서 mux라고도 한다. 반대 개념은 demultiplexing, demux라고 한다.
MAC에서의 Media는 전송 매체를 의미하며 광케이블 등을 의미한다. 코덱은 L6에서 사용되며 여기서는 다루지 않음
PHB는 1 Hop에서만 동작한다. 1 Hop이란 노드와 노드 사이 하나의 경로를 의미한다. End to End 통신 사이 단말기 포함 4개의 노드를 거칠 경우 사이의 경로는 3개이기 때문에 3번의 Hop을 거쳤다고 한다?
L2는 하나의 Hop만을 책임진다. L3의 경우 End to End 통신 사이에 발생하는 모든 Hop을 책임진다.
End to End 통신 사이 유선, 무선 통신 등 다양한 통신 방식이 사용될 경우 무선 통신으로 통신하는 노드 사이에는 무선에 적합한 Hop to Hop 프로토콜이 사용된다.
스마트폰을 예시로 들 경우 WiFi에 Hop to Hop으로 연결되고 WiFi 공유기는 다시 이더넷 등을 통해 유선 기반으로 Hop to Hop으로 다른 인터넷 기기와 연결된다. End to End 통신 과정에서 유/무선 통신 프로토콜이 다양하게 사용될 수 있음을 나타내는 예시
L4의 경우 TCP, UDP가 있다 L3의 경우 IP가 있다. L2의 경우 WiFi, Bluetooth, Ethernet 등이 사용된다.
Internet과 Ethernet? Internet의 경우 Inter Network의 줄임말, Inter Network의 상대어는 Intra Network, 인트라넷
무전기 2대의 경우 L2만으로 충분하다. L3의 경우 라우팅의 주요 목적이지만 무전기 2대만 있는 경우 라우팅, 즉 길찾기가 필요 없기 때문 따라서 무전기 2개가 있는 상황은 L2 네트워크라고 한다.
무전기 등의 장비는 1 Hop만으로도 통신이 가능하기 때문에 L2
총 4개의 노드가 있으며, 각각 2개의 노드로 나누어 서로간 연결이 되어있다고 가정하면 2개의 망이 존재한다. 여기서 각 망에 있는 노드 한개씩은 다른 망과 연결되어 있다고 할 때, 다른 망과 연결되어 있는 노드를 게이트웨이라고 한다. 게이트웨이는 Inter Working을 한다.
충북대학교 구성원들간 통신을 목적으로 하는 망을 인트라넷이라고 하며 충북대학교 외부와 통신을 목적으로 하는 망을 인터넷이라고 한다.
L3 네트워크의 경우 그냥 네트워크라고 한다. 네트워크가 바로 L3이기 때문, L2의 경우만 L2 네트워크라고 한다.
정리
L4 : 데이터의 한 단위를 세그먼트라고 한다.
L3 : 데이터의 한 단위를 패킷이라고 한다.
L2 : 데이터의 한 단위를 프레임이라고 한다.
위 3개의 단위는 정확하게 사용해야 한다.
LTE, 5G 등은 L2 프로토콜, 1Hop을 담당
데이터링크 계층은 MAC 주소 이외에도 프레임화, 오류 제어, 흐름 제어, 매체 접근 제어도 담당.
R(저항) : 신호를 감쇠한다. L(인덕터, 코일) : 전자기 유도, sin 함수를 통해 보낸다? C(커페시터, 콘덴서) : 전기적 성질의 충/방전
sin파를 통해 신호를 보낼 경우 안테나에서는 전자가 감지된다. 감지된 전자를 통해 전기회로에 쓸 수 있는 형태로 유도해야 한다. 여기서 신호는 R,L,C의 L에 해당한다.
유선 통신의 경우 0V, 5V 식으로 명확하게 나눠지지만 무선 전파의 경우 sin 파와 같은 아날로그 형태로 신호를 수신한다. 따라서 신호의 크기가 아닌 파장의 주파수를 바꾸는 식으로 통신한다. 보통 기준이 되는 주파수는 라, A(880Hz)이다. 기준이 되는 주파수보다 낮은 주파수는 0, 높은 주파수는 1이라고 하는 식으로 한다. fc = 320MHz일 경우, fc+/-25kHz를 0/1이라고 한다. 여기까지 정했을 때, 형식과 의미는 정했지만 타이밍이 정해지지 않았기 때문에 프로토콜이라고 할 수 없다. 특정 주파수가 몇초 반복될 때 0 또는 1이라고 정의까지 하여야 완벽한 프로토콜이라고 할 수 있다.
Frequency, Shift, Keying이라고 해서 FSK 통신 방식이라고도 한다.
OSI 7 Layer
OSI 7 Layer가 뭔지 안다고 하기 위해서는 적어도 4가지에 답변할 수 있어야 한다. 무엇인지 왜 어떻게 장단점
OSI 7 Layer가 뭐냐고 묻는다면, 프로토콜 스택이라고 할 수 있다.
왜 7개의 스택으로 나눠져 있을까?
계층별 역할 분리를 통해 통신 과정을 체계적으로 이해하고 설계하기 위해서.
OSI 7 Layer 모델의 핵심 철학은 계층적 구조, 동일 계층간의 peer-to-peer processing, 그리고 상위 계층 데이터를 하위 계층이 감싸 내려보내는 encapsulation.
7 – Application, 애플리케이션 계층, 카카오톡 등
6 – Presentation, 표현 계층, 데이터를 어떻게 표현할지를 전달한다. 카카오톡을 예시로 든다면 글자의 색, 크기 등
5 – Session, 누구와 누가 통신하는지를 저장한다. 세션 아이디 등을 사용, session 연결 설정에 사용되며
4 – Transport, 프로세스간 전달, 포트 사용
3 – Network, 패킷 단위의 end to end 전달
2 – Data Link Layer, 프레임 단위의 hop to hop 전달
1 – Physical, 비트를 한 홉에서 다음 홉으로 보내는 계층
물리 계층은 개별 비트를 통해 실제 매체를 전달하는 역할을 한다. 데이터링크 계층은 프레임 단위로 인접 노드간 전송을 담당한다. 네트워크 계층은 패킷을 source에서 destination까지 전달하는 역할, 즉 end to end를 담당한다.
Protocol?, 무엇인지, 왜, 어떻게 이 3가지를 설명할 수 있어야 한다. 이 3가지를 직접 필기하면서 정리하면 잘 외울 수 있다. (특징, 장단점 등)
Protocol이란 통신을 위한 상호간의 약속(정의)
통신이란 무엇인가? 단말간 유효한 정보의 교환
유효한 정보란 무엇인가? 두개 이상의 개체가 서로 상호간 유효한 정보를 주고 받는 행위에서,
과거 통신의 주체가 되는 개체는 사람-사람 통신이었다.
약속은 다른 말로 표준, 즉 standard라고 한다. 이러한 표준은 ISO(국제표준화기구), ITU, IETF, 3GPP,, IEEE 등에서 정한다. 표준 기구끼지의 상호작용은 리에종(Liaison)이라고 한다.
ITU – E.164(전화번호) IETF – 인터넷 3GPP – 3G, 4G, 5G… IEEE -WIFI ISO – OSI 7 Layer
국제 표준이 아니지만 사실상의 표준으로 자리잡은 경우, De Fecto Standard가 된다.
프로토콜이라면 반드시 가져야 하는 것? Format 또는 형식 Meaning 또는 의미 Timing 또는 동기, 절차
통신에 사용되지 않는 프로토콜은 없다, 프로토콜의 정의 자체가 “통신을 위한 상호간의 약속이기 때문”
앞으로 집중할 것은 digital 통신, 보통의 디지털 통신은 0과 1로 이루어지고, 0을 0V, 1을 5V로 지정하는 식으로 작동한다. 여기서 형식은 0V, 5V, 의미는 0V가 0, 5V가 1로 설정된다. 하지만 이 경우 Timing이 정의되기 않았기 때문에 제대로 된 프로토콜이라고 할 수 없다. 따라서 0V가 1초 이상 발생할 경우 0이 하나라고 설정하는 식으로 Timing을 설정해야 완전한 프로토콜이 된다. 위 프로토콜의 경우 1 bit per second, 1bps라고 한다.