2026/06/09 3

Weekly Paper #15

1. Race Condition (경쟁 상태)Race Condition이란?두 개 이상의 스레드가 공유 자원에 동시에 접근할 때, 실행 순서에 따라 결과가 달라지는 문제입니다.재고: 1개스레드 A: 재고 조회 → 1개 확인 → (아직 차감 전)스레드 B: 재고 조회 → 1개 확인 → (아직 차감 전)스레드 A: 재고 차감 → 0개스레드 B: 재고 차감 → -1개 ← 문제 발생!해결 전략 1 - synchronized (Java 내장)JVM 레벨에서 하나의 스레드만 해당 블록에 진입하도록 잠금을 겁니다.public class StockService { private int stock = 1; public synchronized void decreaseStock() { if (sto..

Weekly Paper 2026.06.09

Weekly Paper #14

1. 4가지 주요 보안 공격과 대응 전략① CSRF (Cross-Site Request Forgery)공격 원리피해자가 로그인된 상태에서 악성 사이트가 피해자 브라우저를 이용해 의도하지 않은 요청을 자동으로 전송하는 공격입니다.1. 피해자 → 은행 사이트 로그인 (세션 쿠키 발급)2. 피해자 → 악성 사이트 방문3. 악성 사이트 → 피해자 브라우저로 은행 이체 요청 자동 전송 (브라우저가 세션 쿠키를 자동으로 포함시킴)4. 은행 서버 → 정상 요청으로 인식 → 이체 실행대응 전략CSRF Token 방식: 서버가 예측 불가능한 토큰을 발급하고, 요청 시 이 토큰이 포함되어 있는지 검증합니다.// Spring Security 기본 CSRF 보호 활성화@Configurationpublic class Sec..

Weekly Paper 2026.06.09

Weekly Paper #13

1. 세션 기반 인증 vs 토큰 기반 인증세션 기반 인증 (Session-based Authentication)로그인 시 서버가 세션을 생성하고, 클라이언트는 세션 ID만 쿠키로 보관하는 방식입니다.1. 클라이언트 → 로그인 요청2. 서버 → 세션 생성 (서버 메모리/DB에 저장)3. 서버 → 세션 ID를 쿠키로 응답4. 클라이언트 → 이후 요청마다 쿠키(세션 ID) 포함5. 서버 → 세션 ID로 서버에 저장된 세션 조회 → 인증 확인장점서버에서 세션을 직접 관리하므로 즉시 무효화(로그아웃) 가능클라이언트에 민감한 정보가 남지 않음단점서버가 여러 대면 세션 공유 문제 발생 (Redis 같은 세션 스토리지 필요)서버 메모리 사용량 증가모바일 앱, 타 도메인 API 호출에 쿠키 사용이 불편보안 고려사항HTT..

Weekly Paper 2026.06.09