IT
-
[SKT 해킹 사고] BPFDoor 에 대해 알아보자IT/issue 2025. 4. 28. 10:42
BPFDoor란 무엇인가? BPFDoor는 최근 SK텔레콤 해킹 사고에서 언급된 리눅스 기반의 고급 백도어 악성코드입니다. 이 악성코드는 일반적인 취약점(CVE) 자체가 아니라, 리눅스의 네트워크 기능인 BPF(Berkeley Packet Filter)를 악용해 만들어졌습니다. BPFDoor는 2021년 PWC 위협 보고서를 통해 처음 공개됐으며, 주로 중국 해커 그룹(예: Red Menshen)이 중동과 아시아를 대상으로 한 사이버 공격에 수년간 사용해온 것으로 알려져 있습니다.주요 특징 무포트(Portless) 백도어 BPFDoor는 감염된 서버에서 별도의 포트를 열지 않고도 공격자의 명령을 수신할 수 있습니다. 이는 서버가 평소와 다르게 열린 포트가 없어 탐지하기 어렵다는 의미입니다..
-
[IT] SKT 해킹 사고로 알아보는 보안의 중요성IT/issue 2025. 4. 28. 09:49
SKT 해킹 사고 원인 분석: 악성코드, HSS 서버, 유출 경로와 대응 방안최근 SKT에서 발생한 해킹 사고의 원인이 악성코드에 감염된 HSS 서버(Home Subscriber Server)로 밝혀졌습니다. 이 사고를 통해 악성코드가 무엇인지, HSS 서버란 무엇인지, 데이터 유출 경로와 대응 방안에 대해 자세히 알아보겠습니다.악성코드란?악성코드(Malware)는 'Malicious Software'의 줄임말로, 사용자에게 해를 끼치기 위해 만들어진 소프트웨어를 말합니다. 바이러스, 웜, 트로이 목마, 랜섬웨어 등이 여기에 속하며, 시스템을 감염시켜 정보 탈취, 시스템 파괴, 비정상적인 동작을 유발할 수 있습니다.HSS 서버란? (Home Subscriber Server)HSS(Home Subscrib..
-
AI LLM 용어에 대해 알아보자!IT 2025. 4. 25. 17:59
✅ LLM이란? LLM은 Large Language Model(대규모 언어 모델)의 약자입니다. 인간의 언어를 이해하고 생성할 수 있도록 훈련된 AI 모델을 의미하며, 대표적인 예로는 OpenAI의 ChatGPT, Google의 Gemini, Meta의 LLaMA 등이 있습니다. LLM은 수많은 텍스트 데이터를 바탕으로 단어, 문장, 문맥의 패턴을 학습하여, 질문에 답변하거나 글을 작성하고, 번역하거나 요약하는 등 다양한 언어 작업을 수행할 수 있습니다.✅ LLM이 왜 중요한가요? 자연어 이해 능력인간의 언어를 이해하고 처리하는 능력이 뛰어나기 때문에, 다양한 분야에서 활용됩니다. 다양한 응용 가능성챗봇, 문서 요약, 자동 번역, 코드 생성, 검색 보조 등 수많은 분야에서 유용하게 사용됩니다. ..
-
정렬 알고리즘 (Sorting algorithm) 종류 및 구현 알아보기!IT 2025. 4. 23. 15:23
1. 버블 정렬 (Bubble Sort)가장 단순한 정렬 방식으로, 인접한 두 수를 비교하며 정렬합니다. 성능은 느리지만 구현이 쉬워 교육용으로 많이 사용됩니다.public void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }}2. 선택 정렬 (Selection Sort)매 반복마다 가장 작은(또는 큰) 값을 선택해 앞으로 보내는 방식입니다. 버블 정렬보다 비교 횟수는 적..
-
RDBMS 와 NoSQL 비교해 보기IT 2025. 4. 17. 14:31
🔍 RDBMS vs NoSQL 차이점 항목 RDBMS (Relational DBMS) NoSQL (Not Only SQL) 데이터 모델 테이블 기반 (행/열) 문서, 키-값, 그래프, 컬럼 기반 등 스키마 고정 스키마 (정해진 구조) 유연한 스키마 또는 스키마 없음 확장성 수직 확장 (서버 스펙 업) 수평 확장 (서버를 여러 개로 분산) 트랜잭션 ACID 보장 (정합성 우선) 대부분 Eventually Consistent (속도 우선) 쿼리 언어 SQL 전..
-
동등하다?(동등성) 동일하다?(동일성) 개념 정리IT 2025. 4. 17. 14:05
✅ 동등성과 동일성의 차이 (Equality vs Identity)Java를 포함한 객체지향 프로그래밍 언어에서는 동등성(equality)과 동일성(identity)을 구분하는 것이 매우 중요합니다. 겉보기에는 같아 보여도 내부적으로는 완전히 다른 의미를 가지기 때문이죠.🧠 1. 용어 정리구분설명동일성 (Identity)두 객체가 완전히 같은 객체인지 확인. 즉, 메모리 주소가 같은지를 비교. Java에서는 == 연산자를 사용.동등성 (Equality)두 객체의 내용이 같은지를 비교. Java에서는 equals() 메서드를 오버라이딩하여 비교.🔍 2. 자바 코드 예제로 이해하기public class Person { private String name; public Person(String ..
-
Git 브랜치 전략에 대해 알아보자! (+ git flow)IT 2025. 4. 16. 15:56
💡 왜 Git 브랜치 전략이 필요할까? Git은 강력한 분산 버전 관리 시스템이지만, 협업 시엔 브랜치를 어떻게 나누고 관리할지가 중요합니다. 명확한 브랜치 전략이 없다면 다음과 같은 문제가 생길 수 있어요: 코드 충돌이 자주 발생함 기능별 작업 상황을 추적하기 어려움 배포 시점이 모호해짐 긴급 수정 대응이 늦어짐👉 그래서 브랜치 전략이 필요합니다.🌲 Git Flow 전략이란? Git Flow는 복잡한 개발 프로세스를 체계적으로 관리하기 위해 만들어진 전략입니다. 릴리즈 주기가 명확하고 기능 단위로 작업이 나뉘는 환경에서 특히 유용합니다.🔀 브랜치 구성 브랜치 역할 설명 main운영 배포용 최종 브랜치 develop다음 릴리스를 ..
-
Call by value?? Call by reference?? 알아보자IT 2025. 4. 9. 17:38
📌 Call by Value vs Call by Reference프로그래밍 언어에서 함수나 메서드에 인자를 전달할 때, 그 방식은 크게 두 가지로 나뉩니다.✅ Call by Value (값에 의한 호출) 값 자체를 복사해서 전달 함수 내부에서 매개변수의 값을 변경해도, 원본 값에는 영향이 없음public class Example { public static void changeValue(int x) { x = 100; } public static void main(String[] args) { int num = 50; changeValue(num); System.out.println(num); // 👉 출력: 50 }}설명: ..