MCP 사용으로 발생할 수 있는 공격
·
AI
MCP란?Model Context Protocol의 약자로 AI 에이전트를 외부의 다양한 서비스와 연결하여 AI 서비스를 효율적으로 관리하고 통신할 수 있도록 설계된 프로토콜이다. 이를 통해 Gmail MCP나 Google Drive MCP 같은 커넥터를 이용해 AI 서비스에 이메일·문서·협업 도구를 손쉽게 통합할 수 있다. 하지만 이러한 MCP의 발전으로 인하여 발생하는 취약점도 빠르게 증가하는 중이다. 이번 글에서는 외부 공격자에 의해서 MCP에서 발생할 수 있는 공격 시나리오를 크게 4가지로 정리해 보았다. 1. Tool Poisoning AttackMCP의 핵심은 AI 에이전트에게 tool 목록과 설명을 제공하는 것이다. 공격자는 이 지점을 노려 정상 도구로 위장한 악성 MCP 서버를 배포하거나..
CVE-2023-6977 MLflow Local File Disclosure
·
Web Hacking/기타
이번엔 CVDE-2023-6977 취약점에 대해서 실제로 가상머신에서 재현해보고 어떤 방식으로 이뤄지는지 그리고 어떻게 탐지할 수 있는지 nuclei 템플릿을 만들어서 정리 해보자. MLflow란?학습시킨 머신러닝과 딥러닝 모델의 lifecycle을 관리해주는 오픈소스 플랫폼이다. 모델을 학습시키고 만들다보면 학습 성능, 버전, 하이퍼 파라미터 값 등을 직접 저장해둬야 했지만 이 플랫폼을 사용하면 모델을 MLflow에 올려서 쉽고 편하게 UI형식으로 보면서 관리할 수 있다. 또한 팀원들이 같은 환경에서 모델을 공유하고 관리도 가능하게 해주기에 AI 개발자들에게 도움이 되는 플랫폼이다. 하지만 MLflow에서는 취약점이 존재했다.CVE-2023-6977이 취약점은 MLflow 2.9.1 이하 버전에서 ..
성능 측정 방식
·
AI
이번엔 모델 학습이 끝났다면 해야 할 성능 측정 방식을 정리해 보자. 숫자 이미지가 나오는 MNIST데이터셋을 사용하였고 SGDClassifier 로 숫자 5를 탐지하는 이진분류 모델을 만든 상황이다. 교차 검증교차검증이란? 데이터를 여러 폴드로 나누어 훈련과 검증을 반복하여 모델의 성능을 평가하는 방식이다.K-Fold Cross Validation : 데이터를 K개의 Fold로 나눈뒤 각 Fold가 한 번씩 검증용이 되도록 총 K번의 학습과 평가를 반복하는 방식 계층적 교차 검증(StratifiedKFold) : 분류할때 각 클래스 비율이 모든 Fold에서 동일하게 유지되도록 샘플링하는 방식 그럼 SGDClassifier로 만든 이진 분류 모델에게 K-Fold 교차 검증을 cross_fal_sco..
데이터 시각화와 상관관계
·
AI
항상 EDA과정에서 빼먹을 수 없는 과정중 하나가 시각화 작업이다. 여기선 지역별 주택가격 데이터셋을 활용해서 간단하게 시각화를 해보고 상관관계를 측정할 계획이다. 시각화위 시각화 자료는 캘리포니아 지역의 위도와 경로를 나타낸 데이터셋이다. 하지만 이러한 정보만으론 특별한 패턴을 찾기 어렵다.그땐 alpha 옵션을 0.1로 주어서 데이터가 밀집된 영역을 확인하면 된다. 결국 시각화를 하는 이유는 내가 직접보고 패턴을 인식해야 하기때문에 이처럼 매개변수를 다양하게 조절해봐야 한다. 이젠 주택 가격을 나타내보자. 경도 -120 ~ -118 위도 32-34지점경도 -123 ~ -121 위도 36~38이 두 지역의 주택 가격이 높은것으로 확인할 수 있다. 하지만 이를 제외하곤 크게 관련이 있는거 같진않다. ..
머신러닝이란
·
AI
그동안 AI위주로 공부했었지만 블로그로 작성해 본 적이 없어서 복습할 겸 하나씩 적어보려고 한다.. 머신러닝이란?데이터애서부터 학습하도록 컴퓨터를 프로그래밍하는 과학이다. 머신러닝을 왜 사용할까? 스팸 게시글을 필터하는 프로그램을 만든다고 해보자. 그럼 나는 스팸 게시글에 자주 나오는 단어들을 모두 저장해서 패턴을 만들고 그것을 감지하는 알고리즘을 만들어야 한다.하지만 머신러닝을 활용하면 스팸 게시글이 일반 게시글에 비해서 자주 나타나는 패턴을 감지한다. 그렇기 때문에 어떤 단어와 구절이 스팸게시글을 탐지하는데 좋은 기준인지 학습을 하게 된다. 여기까지는 머신러닝이 기존 방식에 비해서 데이터를 학습하는 것을 기반으로 판단하는 것 말고는 크게 다를 게 없다고 생각할 수 있다. 하지만 큰 차별점이 ..
Routing
·
Computer Science/데이터 통신
Routing in Packet Switching NetworksPacket switching에서 라우팅은 패킷을 출발지에서 목적지로 전달하도록 하는 주요 기능이다. 이를 위해 네트워크를 통해 경로가 설정되어야 하는데 아래와 같은 조건이 포함된다. Correctness(정확) :  올바른 경로를 선택하고 패킷을 정확히 전달Simplicity(단순) : 라우팅 과정은 쉽게 구현되고 관리가 가능Robustness(강건) : 장애나 과부하가 발생해도 전달이 가능해야 하며 패킷 손실이나 단절 없이 전송Stability(안정) : 변화하는 환경에서도 큰 변화 없이 전송가능Fairness(공정) : 패킷과 station 간의 교환 우선순위가 공정하게 이뤄져야 한다. Optimality(최적화) : 네트워크 성능을 ..
Internet Protocol
·
Computer Science/데이터 통신
Internet Protocol은 데이터 전송할 때 별도의 연결을 설정하지 않는 connectionless 방식을 사용함. 그래서 flexible, robust, overhead가 낮음 IP design lssue1. Routing : datagram이 목적지까지 올바르게 전송되도록 지원2. Datagram Lifetime : datagram이 무한 루프되는 걸 방지하기 위해 수명설정하고 관리3. Fragmentation and reassembly : 데이터를 전송할 때 효율적인 전송을 위해 작은 블록으로 나누고 재결합해야 한다. 하지만 처리시간과 인터럽트가 증가함 4. Error control : 무결성과 신뢰성을 보장5. Flow control : 과부하 방지 Parameter : 데이터를 전달하거나..
Local Area Network
·
Computer Science/데이터 통신
Bus Topology full-duplex 방식으로 데이터를 버스에 전송하고 수신하는 방식Star Topology각 station은 중앙 노드에 연결되고 서로 point-to-point 방식으로 연결됨. broadcast방식으로 작동하고 한 번에 한 station만 전송이 가능함 IEEE 802 reference 모델의 기능1. 신호 인코딩/디코딩2. preamble 생성/제거3. 비트 전송/수신 IEEE 802 layersLogical Link Control layer(LLC)LLC layer는 두 station간의 링크 수준 PDU 전송에 초점을 맞추고 중간 스위칭 노드 필요 x, 주 노드 없이 링크의 멀티 엑세스와 공유 매체 특성 지원해 줌 LLC 서비스1. Unacknowledged connec..
Cellular Wireless Network
·
Computer Science/데이터 통신
Cellular Network Organization모바일 기술의 핵심다수의 저출력 송신기 사용(이전에는 고출력 송신기 사용)영역을 cell단위로 분할(타일 패턴으로 셀들이 겹치지 않도록 배열, 각 셀이 고유한 안테나를 보유하여 주파수 대역을 할당받음, base station 제공 )interference, crosstalk 방지(인접한 셀은 서로 다른 주파수를 할당받아서 간섭 방지, 멀리 있는 셀들은 동일한 주파수 대역을 재사용하여 효율성 극대화)사각형 셀 d의 거리가 모두 일정하지 않아서 효율적이지 않음육각형 셀 모든 인접한 안테나 간의 거리가 일정함이로 인하여 인접한 셀끼리 전환이 쉬움하지만 육각형셀은 잘 사용하지 않음지형적 제약 : 산, 강 등으로 인한 패턴 왜곡 발생신호 전파 조건 : 신호의 특..
WAN Technology and Protocols
·
Computer Science/데이터 통신
Switched Communications Networks데이터를 목적지로 보내기 위해 swithcing node를 통해 데이터를 전송하는 네트워크 구조Switching nodes : 데이터가 노드 사이를 이동할 수 있도록 스위칭하는 노드Stations : 네트워크에 연결된 장치들Nodes : 통신을 제공하는 장치Communications network : node들의 집합체Circuit Switching두 station 간에 dedicated path(전용 경로)를 만들어서 데이터를 교환하는 방식전용 경로를 사용하기 때문에 연결이 활성화된 상황에서 데이터를 전송하지 않으면 리소스 낭비가 발생하고 트래픽이 많으면 경로 설정이 어려움처음에 연결 설정(Establish)을 하는데 시간이 걸리지만 한번 연결 ..