목록전체 글 (77)
ㅇ.ㅇ
이번에는 Docker를 활용해 SonarQube를 설치하고, 간단한 기본 설정을 진행하는 과정을 정리해보려고 한다. Docker를 이용하면 설치와 관리를 빠르고 간편하게 할 수 있으니, 처음 SonarQube 사용하는 사람들에게 특히 추천한다. 1. SonarQube 도커 설치(공식 가이드 참조 : SonarQube 설치에 대해 자세한 내용이 필요하다면 SonarQube 공식 사이트를 참고하자)1. 도커 이미지 다운로드아래 명령어로 SonarQube 이미지를 다운로드한다.# 이미지 가져오기docker pull sonarqube# 이미지 목록 확인docker images 태그는 community, latest 등을 사용할 수 있으며, 생략하면 기본적으로 최신 버전을 가져온다.2. 컨테이너 실행다운로드한 이..

최근 보안 취약점 패치를 많이 진행하면서 자연스럽게 효율성, 가독성, 유용성등과 같은 코드 품질에 대해 고민하게 되었다. 그러다 코드를 스캔해 문제점을 바로 찾아주는 소나큐브(SonarQube)를 사용해 보게 됐다. 유명한 도구라 다들 한 번쯤은 들어봤을 법한데, 이 소나큐브를 기반으로 만든 플러그인이 바로 소나린트(SonarLint)다.일단 한두 번 설치해서 테스트해 보는 중인데, 사용해 보면서 관련 내용을 정리해 블로그에 남기면 좋겠다는 생각이 들었다. 단순히 쓰는 것과 제대로 알고 쓰는 건 확실히 다르니까.SonarQube란 무엇일까 소나큐브는 코드 품질을 자동으로 분석하고 관리해 주는 도구이다. 개발자가 작성한 코드를 스캔해서 문제점(버그, 보안 취약점, 비효율적인 코드)을 찾아내고, 이를 해결할..

FCM은 무엇인가 FCM(Firebase Cloud Messaging)은 Google이 제공하는 크로스 플랫폼 메시징 서비스로, 앱 개발자가 Android, iOS, 웹 애플리케이션에 푸시 알림을 전송할 수 있도록 지원합니다. 기존의 GCM(Google Cloud Messaging)을 대체하며, 보다 간단하고 강력한 기능을 제공합니다. FCM의 주요 기능 푸시 알림 전송 : 클라이언트 애플리케이션에 푸시 알림 메시지를 전달.데이터 메시지 전송 : 사용자 지정 데이터 페이로드를 클라이언트에 전달.주제 메시징(Topic Messaging) : 특정 주제에 구독한 다수의 사용자에게 메시지 브로드캐스트.조건 메시징(Condition Messaging) : 논리 조건(예: 'TopicA' in topics && ..

BIOS란 무엇인가 BIOS (Basic Input/Output System)는 컴퓨터의 핵심 펌웨어로, PC가 부팅될 때 하드웨어를 초기화하고 운영체제를 로드하는 역할을 한다. BIOS는 마더보드에 내장된 EEPROM이나 플래시 메모리 칩에 저장되어 있으며, 하드웨어와 소프트웨어를 연결하는 중요한 기능을 한다. 여기서 말하는 펌웨어란?펌웨어는 하드웨어와 소프트웨어의 특성을 모두 가진 제어 프로그램이다. 그리고 BIOS는 PC에서 가장 중요한 펌웨어로, 다음과 같은 역할을 한다. 하드웨어 초기화 : CPU, 메모리, 저장 장치 등의 기본적인 동작을 설정부팅 장치 선택 : 운영체제를 로드할 드라이브 결정POST (Power-On Self-Test) : PC 전원이 켜질 때 하드웨어 이상 유무를 점검기본 설..

Dependency-Check란 무엇일까Dependency-Check는 프로젝트에서 사용하는 라이브러리나 의존성(dependency) 중 보안 취약점(CVE)이 있는지 확인하는 오픈소스 도구. 어떤 라이브러리에 어떤 취약점이 있는지를 식별할 수 있어서, 배포 전에 해당 라이브러리들을 제거하거나 업데이트 할 수 있다. 동작 방식1. 프로젝트의 의존성(예: Maven, Gradle, npm 등)을 분석2. 각 라이브러리의 메타데이터 (이름, 버전, 그룹id)를 수집3. 식별된 종속성과 NVD 데이터베이스의 CVE 번호를 매핑해서 취약점 조회4. 각 의존성의 버전 정보를 기반으로 CVE 데이터베이스(NVD, OSS Index 등)에서 취약점을 조회5. 결과를 HTML, JSON 등으로 리포트 생성 주요 기능취..

최근에 iframe을 통해 웹페에지 내에 다른 웹페이지를 삽입해야 하는 사항이 있었고, 그 과정에서 SOP(Same-Origin Policy)의 중요성을 깨닫게 되었다. 이를 정리한 내용을 공유해보려 한다. SOP 개념Same-Origin Policy(SOP)는 웹 보안의 중요한 개념으로, 브라우저에서 실행되는 웹 애플리케이션 간 데이터를 보호하기 위해 설계된 규칙이다. SOP는 한 origin에서 로드된 문서나 스크립트가 다른 origin의 리소스와 상호작용하는 방법을 제한한다. 이를 통해 악의적인 접근을 방지하는 중요한 보안 메커니즘을 제공한다.여기서 Origin이란?웹 애플리케이션의 origin은 브라우저가 리소스를 로드한 출처를 나타낸다. 즉, 브라우저가 내가 접속한 서버(예:네이버)로부터 ht..
최근에 방화벽 파일에서 마스커레이드라는 설정을 보고 궁금해서 찾아보기 시작하였다. 마스커레이드의 정의마스커레이드(Masquerade)를 구글에 검색해보면 '가장무도회'라는 의미가 가장 먼저 나온다. 개발이라는 분야에서 본다면, 정보 보안쪽에서 자주 언급되는 용어로, '가장'하거나 '위장'한다는 의미를 내포하고 있다. 즉, 정당한 사용자처럼 가장하여 시스템 자원에 부당하게 접근하는 행위를 의미한다. 일반적으로 공격자는 타인의 계정, 인증 정보를 도용하거나 위조하여 마치 해당 사용자인 것처럼 행동한다. - 주요 특징1) 신분 도용 : 공격자는 타인의 사용자 계정이나 ID를 사용한다.2) 정상적인 활동처럼 보임 : 시스템 로그에는 정상 사용자처럼 기록되기 때문에 탐지가 어렵다.3) 취약점 악용: 시스템 내 인..

Java EE의 탄생과 발전Java EE(Java Platform, Enterprise Edition)는 1990년대 후반, Sun Microsystems에 의해 탄생했다. 당시 기업 환경에서는 대규모 애플리케이션 개발을 위한 복잡한 작업(트랜잭션 관리, 데이터베이스 연결, 보안 등)을 효율적으로 처리할 수 있는 표준화된 플랫폼의 필요성이 대두되었는데, Sun은 이러한 문제를 해결하고자 Java 언어를 기반으로 한 엔터프라이즈 애플리케이션 개발 플랫폼인 Java EE를 발표했다. Java EE의 주요 목적개발 효율성 향상 : 트랜잭션 관리, 데이터베이스 연동, 보안 등의 공통 기능을 표준화하여 개발 속도와 유지보수성을 높일 수 있도록 함.서버 간 호환성 보장 : Java EE는 특정 벤더에 종속되지 않고..