https://www.mercedes-benz.com/en/whitehat/

 

Mercedes-Benz: Vulnerability Reporting Policy.

If you have found a vulnerability or other security issues in our infrastructure or products, please feel free to contact us.

www.mercedes-benz.com

Submit report to General Motors (hackerone.com)

 

 

 

 

 

 

 

 

 

01. 벤츠 

02. 보쉬

03. BMW

04. 스텔란티스

05. GM

06. 도요타

07. 테슬라

 

추가 예정

 

 

 

 

 

 

 

 

 

'경로 및 정보' 카테고리의 다른 글

AUTOSAR 기술 이해  (0) 2023.03.09
Argus 기사  (0) 2023.03.09
Verification(검증), Validation(검사)  (0) 2023.03.06
품질관리_자동차_품질관리 용어  (0) 2023.03.06
CAN-BUS With Arduino and Seeed CAN-BUS Shield  (0) 2023.03.06
블로그 이미지

wtdsoul

,

https://velog.io/@yes3427/TIL-DAY4-validation-verification

 

 

TIL DAY4 | validation과 verification 차이

이번주 목요일날 진행만 멘토링에서 멘토님에게 질문을 받았는데 아무말도 하지 못햇다.너무 부끄러웠다. 분명히 공부했다고 생각했는데 나는 개념정리도 제대로 하지 않고함수형 프로그래밍

velog.io

오늘은 멘토링때 대답하지 못한 validation과 verification의 차이에 대해 알아보자!
정보처리기사 공부하면서 암기했던 부분인데 까먹었다..하하ㅏ하..나 hoxy 시험만 보면 모든것을 잊어버리는 병에 걸린건가..
오랜만에 정보처리기사 책을 펼쳐 개념들을 다시 확인해보았다.

validation(검사) : 사용자의 입장에서 개발한 소프트웨어가 고객의 요구사항에 맞게 구현되었는지를 확인하는 것이다.
verification(검증) : 개발자의 입장에서 개발한 소프트웨어가 명세서에 맞게 만들어졌는지 점검하는 것이다.

사실 이러한 개념으로는 정확히 이해가 가지 않기 때문에
조금 더 쉬운 설명들로 이해해보자!

✔ validation

Are we building the right system?

  • 우리가 올바른 제품을 빌드하고 있나?
  • 실제 제품을 검사하고 테스트하는 동적인 방법이다.
  • 최종적으로 만든 결과물이 잘 나왔는지를 말한다.
  • 검증은 항상 코드실행을 수반한다.

✔ verification

Are we building the system right?

  • 우리가 제품을 올바르게 빌드하고 있나?
  • 디자인과 코드를 검사하는 정적인 방법이다.
  • 각 단계의 요구사항을 잘 지켜가며 만들었는지를 확인하는 것이다.
  • 검사는 인간기반의 문서와 파일의 검사이다.

쉽게말하면

validation은 사용자의 관점에서 우리가 제품을 잘 만들고 있는가
verification은 논리적인 관점에서 해당 스펙대로 잘 수현했는가

블로그 이미지

wtdsoul

,

DV : Design Validation / Verification , PV : Puoduct Varification (tistory.com)

 

DV : Design Validation / Verification , PV : Puoduct Varification

품질관리_자동차_품질관리 용어 DV : Design Validation / Verification - 설계 검증 - 설계 출력물이 실제 설계 의도/입력물에의 충족여부를 검증하기 위한 일련의 행위. 시험/평가 설계된 제품이 고객의

novelistgood.tistory.com

품질관리_자동차_품질관리 용어

 

DV : Design Validation / Verification - 설계 검증

- 설계 출력물이 실제 설계 의도/입력물에의 충족여부를 검증하기 위한 일련의 행위. 시험/평가

설계된 제품이 고객의 요구에 만족하고 제품으로서 제대로 기능이 되는지를 검증하는 것으로 사용된 재료가 적정한지(MS), 요구되는 사양을 만족하는지(ES)에 대한 신뢰성 확보를 검증하는 단계

 

PV : Puoduct Varification - 제품 유효성 확인

 - 양산금형/양산공정을 거친 초도품의 설계의도 충족여부를 검증하기 위한 일련의 행위. 시험/평가

4M(양산공정, 양산설비 및 작업자, 양산용 자재)으로 제품을 만들어서 양산된 제품이 문제가 없는지를 검증하는 단계, 통상 P1 단계

 

IRE : Initial Risk Evaluation, 부품품질위험도

 

ESIR :  Engineering Specification Inspection Report, 기술사양 시험 확인 보고서

 

ALL TOOL : 원/부자재 금형, JIG등은 양산시와 동일한 상태

 

FULL TOOL : ALL TOOL조건 + 작업자, 환경, 생산 공정조건 등이 양산용과 동일한 상태

 

MIP : Made In Plant - 공장에서 금형을 이용하여 일정하게 제작하는 부품

 

APQP : Advenced Product Quality Planning - 사전부품 품질계획 및 관리계획

 

PSO : Process Sign-Off - 부품 제조 공정 승인

 

CP : Process Capability - 공정능력(Cpk)

 

VDS : The Vehicle Dependability Study, 구매한 지 3년이 지난 소비자를 대상으로 한 조사 - JD POWER

 

IQS : Initial Quality Study, 신차를 구입한 지 3개월이 지난 소비자를 대상으로 조사 - JD POWER

 

 

VIN : Vehicle identification Number, 차량고유번호, 차량식별번호, 차량로트넘버, 차대번호

 

R&R : Role and Responsibilities - 기업/부서에서 조직원들이 수행해야 하는 역할과 책임을 정하는 것

 

AP : Advanced Pilot, 양산금형 시작단계, P1 이전 단계

 - AP단계 : P1단계에 준하는 부품 투입요건으로 평가

 

P1 단계 : 연구소 파일럿동에서 양산에 준하는 설비 및 금형 지그를 이용하여 처음 행하는 단계로 Main Body Ass'y의 착수 이후 의장조립 완료까지를 포함한다. 품질확보 계획에 따라 품질확인차(법규 인증차 일부 포함)를 조립하면서 품질문제, 작업성, 생산성 등을 확인하며 Body 부품과 의장부품의 Data를 수집하고 작업자 교육을 실시한다. 부품 투입조건은 양산금형(ALL TOOL) 및 치수합격품(Dimension OK)이다.

 

P2 단계 : 연구소 파일럿동에서 P1에 적용한 부품 및 지그 설비의 문제점을 반영한 결과 확인과 미개선, 미완료된 문제점 개선 Data를 수집하는 단계로 작업지도요원의 반복 교육을 통해 작업자 지도 능력을 확보한다. 부품 투입조건은 양산공정(Full Tool), 치수합격품(Dimension OK), 신뢰성(ES, MS) 및 조립성(Function+FIT)합격품이다.

 

M1 단계 : 연구소 파일럿동에서 사용한 설비 및 지그를 양산공장으로 이관하여 양산공장에서 오프라인 및 인라인 생산훈련을 통한 공정원의 작업 숙지 단계이다. 부품 투입조건은 P2 품확치 동일 수준으로 P2 품질수준을 확인한다.

 

M2 단계 : P1, P2 단계의 문제점, 대책, 조치결과를 최종 확인하는 단계로 완성차의 품질, 설비, 치구와 양산성을 최종적으로 확인함을 의미한다.

 

T1 단계 : 양산공장에서 신차 생산을 위한 설비와 지그의 설치 및 개조 등의 설비 트라이아웃 단계로써 설비 단독 시운전을 통한 설비 능력을 확인한다. 공정원에 대하여 오프라인 조립교육을 실시하고 조립공법계획서를 작성 배포한다.

 

T2 단계 : 양산공장에서 P1운영시 발췌된 설비 및 지그 문제점을 개선 반영하고 흐름 시운전을 통한 P1 품질 수준을 확인하며, 양산성을 확인하는 단계이다. 오프라인 및 인라인 작업교육을 통한 작업편성 조정 등 작업성을 확인한다. 부품 투입조건은 P1 품확차 동일 수준이다.

 

 

 

블로그 이미지

wtdsoul

,

 

Introduction: Hack Your Vehicle CAN-BUS With Arduino and Seeed CAN-BUS Shield

Modern Vehicles all come equipped with a CAN-BUS Controller Area Network, Instead of having a million wires running back and forth from various devices in your car to the battery, its making use of a more clever system.

All electronic functions are connected to the TIPM, (Totally integrated Power Module), such as solenoids/relays to lock the doors or mini motors to wind the windows ect ect.

From each node (IE Switch pod that controls your windows or electric door locks) it broadcasts a message across the CAN. When the TIPM detects a valid message it will react accordingly like, lock the doors , switch on lights and so on.

WHY?
Because you can :-)

What you need.
Arduino UNO + Seeed CAN-BUS Shields
You can get the CAN-BUS Shield from SeeedStudio.com

Add TipAsk QuestionCommentDownload

Step 1: Setting Up an Interface for Connecting Your Laptop.

The Seeed CAN-BUS Shield has a header dedicated for the CAN-High (+) and CAN-Low (-)

Obviously all vehicles aren’t the same so the location to tap into the CAN-BUS will differ from vehicle to vehicle.
In this instructable I’m using a Jeep Wrangler (AKA Jeep JK) 2010, Rubicon 2DR , with a manual shifter.

The easiest way into the bus is to connect into the radio, at the back of the radio it has a White/Orange (- CAN-L) and White Grey ( + CAN-H ) wire. From there I routed the cable through to the glove box of the Jeep.

Add TipAsk QuestionCommentDownload

Step 2: Programming the Arduino to Accept Messages From the CAN-BUS

First of all you need the Seeed CAN-BUS Shield’s Library downloadable at GIT-HUB

After downloading the CAN-BUS Library you need to import it into your Arduino Libraries folder.
In the Arduino Editor Select Sketch --> Import Library --> Add Library and then point it to the Zip file you downloaded, (No need to unzip the contents it can be imported as is.

Tip: You might have to rename the zip as the Arduino IDE does not like unusual characters , so maybe try canbus.zip instead of can-bus.zip

Something important to note:

The CAN-BUS Shield library comes with a working example, it does not include getting the CAN-ID which is quite important to know when analysing the data, So i modified it slightly to include the ID also to seperate all values with a comma so that you can use it as a csv file.

Copy and paste the below code into your Arduino Sketch Editor.

#include "mcp_can.h"<br>
INT32U canId = 0x000;
unsigned char len = 0;
unsigned char buf[8];
char str[20];

void setup()
{    
Serial.negin(115200);
START_INIT:
if(CAN_OK == CAN.begin(CAN_125KBPS))
    {
        Serial.println("CAN BUS Shield init ok!");
    }
    else
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println("Init CAN BUS Shield again");
        delay(100);
        goto START_INIT;
    }
}
void loop()<br>{
    if(CAN_MSGAVAIL == CAN.checkReceive())
    {
        CAN.readMsgBuf(&len, buf);
        canId = CAN.getCanId();
        
        Serial.print(canId);Serial.print(",");
        for(int i = 0; i<len; i++)
	{
		Serial.print(buff[i]);Serial.print(",");
	}
	Serial.println();
   }
}

Hit the upload button to upload the sketch.

Add TipAsk QuestionCommentDownload

Step 3: Connecting to the Arduino + CAN-BUS Shield to Get CAN Data

Now you need to make sure the CAN-BUS Shield has been connected to the vehicle's CAN-BUS, via the CAN-H & CAN-L Connector.

If you are sure everything has been connected then use putty to connect to the shield via Serial.

Putty is actually a SSH Client but can also handle serial data and it works great for this purpose.

Look at the Image attached to this step for the Serial port configuration.

Once you connect, Your vehicle's CAN-BUS will bombard putty with CAN-BUS Data.

Add TipAsk QuestionCommentDownload

Step 4: Analyze the Data

From here you need to figure out how to detect the messages, such as turning on lightts, open windows ect ect.

When connecting with putty you can log all incomming data to file as explained in the screenshot from the previous step.

Connect and log to a file called file1.csv and let it run with all windows closed, vehicle's key in on position but not started, and let it run for about 5 minutes, Kill the putty session, then restart the Arduino (The Sketch does not clear the buffer), And this time log all data to file2.csv , once putty starts duming data, quickly press a buton (Only one at a time cus you will not know which message goes to which button), once you pressed a button a few times quickly disconnectputty from the can bus.

So theoretically all messages in File2.csv thats also in File1.csv should be ignored/filtered the messages thats left over in File2.scv should be the message button presses.

If you have some programming skills you might find a better way to manage this.
I cretated a basic application in VB6 , you can look for more information about the tool on my Blog
Unfortunatly the application is a bit incomplete, eventhough it has the capability to connect directly to the Arduino Via Serial it doesnt work propperly, so please ignore the Serial Connection part.

It will basically take the fisrt file run which you were dumping data for ~5 Minutes (ignoredatabase.can) and incomming.can as the log file which includes button presses.

I encourage you to find a better way to analyse the data as this can be very stime consuming.

Add TipAsk QuestionCommentDownload

Step 5: Sending a Message Into the CAN-BUS

To send a message into the CAN-BUS is pretty straight forward.

The below will send the "Sway-Bar" disconnect on a Jeep Wrangler.

Note the CAN-ID needs to be converted into HEX format, an easy way to convert it is to use the Windows Calculator, Using "Programmer Mode" for Windows 7 Calculator

From the below code you can see its sending it to CAN-ID 2B0 = 688

#include <mcp_can.h><br>#include <spi.h></spi.h></mcp_can.h>
void setup()
{
    Serial.begin(115200);
  
START_INIT:
    if(CAN_OK == CAN.begin(CAN_125KBPS))                   // init can bus : baudrate = 500k
    {
        Serial.println("CAN BUS Shield init ok!");
    }
    else
    {
        Serial.println("CAN BUS Shield init fail");
        Serial.println("Init CAN BUS Shield again");
        delay(100);
        goto START_INIT;
    }
}
void loop()
{
    unsigned char stmp3[4] = {3, 0, 3, 0};
    CAN.sendMsgBuf(0x2B0, 0, 4, stmp3);  
    delay(10000); 
     
}
Add TipAsk QuestionCommentDownload

Step 6: A Prototype Built Using the Information From This Instructable

 

Not going into much detail, this is just to show you whats possible.

This Arduino + Seeed CAN-BUS Shield has an added feature, I built a Button & 4 LED Display.
When pressing the red button it will cycle through all posible LED states and each state represents a feature.

Pressing the yellow button will send the message to the bus.

블로그 이미지

wtdsoul

,

https://dovecot.org/list/dovecot/2009-July/040921.html

 

[Dovecot] AUTH PLAIN error with Thunderbird and Dovecot 1.2

 

dovecot.org

https://book.hacktricks.xyz/network-services-pentesting/pentesting-pop

[Dovecot] AUTH PLAIN error with Thunderbird and Dovecot 1.2

Bernhard Schmidt berni at birkenwald.de
Sun Jul 5 22:54:02 EEST 2009


Hi,

a few days ago I started to get some complaints about authentication
delays from Thunderbird POP3 users. After some debugging it turned out
that the problem was introduced somewhere between 1.2rc3 and 1.2rc7
(1.2.0 is still affected).

A session with Thunderbird 2.0.0.22 against 1.2rc3 looks like this:

<<< +OK Dovecot ready.
>>> CAPA
<<< +OK
<<< CAPA
<<< TOP
<<< UIDL
<<< RESP-CODES
<<< PIPELINING
<<< STLS
<<< USER
<<< SASL PLAIN LOGIN
<<< .
>>> AUTH PLAIN
<<< + 
>>> <base64>
<<< +OK Logged in.

and with 1.2.0 (same client, same config, just replaced the server
binaries)

<<< +OK Dovecot ready.
>>> CAPA
<<< +OK
<<< CAPA
<<< TOP
<<< UIDL
<<< RESP-CODES
<<< PIPELINING
<<< STLS
<<< USER
<<< SASL PLAIN LOGIN
<<< .
>>> AUTH PLAIN
[ 2 seconds delay ]
<<< -ERR Authentication failed.
>>> AUTH LOGIN
[ 5 seconds delay ]
<<< + <base64>
>>> <base64>
<<< + <base64>
>>> <base64>
<<< +OK Logged in.

In the log I see

mail dovecot: auth(default): plain(?,77.2.39.xx): invalid input

Does anyone have an idea? 

# dovecot -n
# 1.2.0: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.28.2 x86_64 Debian squeeze/sid ext4
protocols: imap imaps pop3 pop3s managesieve
listen: *, [::]
ssl_cert_file: /etc/ssl/private/pop3.mucip.net.crt
ssl_key_file: /etc/ssl/private/pop3.mucip.net.key
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable(default): /usr/lib/dovecot/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/dovecot/pop3-login
login_executable(managesieve):
/usr/lib/dovecot/dovecot/managesieve-login
login_process_per_connection: no
verbose_proctitle: yes
mail_uid: 5000
mail_gid: 5000
mail_location:
maildir:/var/mail/vmail/%1u/%u:INDEX=/var/cache/dovecot/%1u/%u
maildir_stat_dirs: yes
mail_executable(default): /usr/lib/dovecot/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/dovecot/pop3
mail_executable(managesieve): /usr/lib/dovecot/dovecot/managesieve
mail_plugins(default): quota imap_quota fts fts_squat
mail_plugins(imap): quota imap_quota fts fts_squat
mail_plugins(pop3): 
mail_plugins(managesieve): 
mail_plugin_dir(default): /usr/lib/dovecot/imap
mail_plugin_dir(imap): /usr/lib/dovecot/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/pop3
mail_plugin_dir(managesieve): /usr/lib/dovecot/managesieve
imap_idle_notify_interval(default): 900
imap_idle_notify_interval(imap): 900
imap_idle_notify_interval(pop3): 120
imap_idle_notify_interval(managesieve): 120
auth default:
  mechanisms: plain login
  verbose: yes
  passdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.conf
  userdb:
    driver: ldap
    args: /etc/dovecot/dovecot-ldap.conf
  socket:
    type: listen
    client:
      path: /var/spool/postfix-mailout/private/auth
      mode: 432
      user: postfix
      group: postfix
    master:
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
plugin:
  quota: maildir
  quota_rule: *:storage=500M


Thanks,
Bernhard



More information about the dovecot mailing list

 

블로그 이미지

wtdsoul

,

https://github.com/ForgeRock/openam-community-edition/blob/master/openam-federation/OpenFM/src/main/deployable-war/fam-noconsole.list

 

GitHub - ForgeRock/openam-community-edition: Access Management - AuthN, AuthZ, SSO, Fedaration

Access Management - AuthN, AuthZ, SSO, Fedaration. Contribute to ForgeRock/openam-community-edition development by creating an account on GitHub.

github.com

SAML2 이하 경로

블로그 이미지

wtdsoul

,

https://www.secureworld.io/industry-news/critical-vulnerabilities-vehicle-gps

 

Critical Vulnerabilities Discovered in Popular Vehicle GPS Tracker

Six security vulnerabilities have been found in a popular GPS tracker used on vehicles around the world. How to prevent your car from being hacked.

www.secureworld.io

https://nvd.nist.gov/vuln/detail/CVE-2022-37418

 

NVD - CVE-2022-37418

CVE-2022-37418 Detail Description The Remote Keyless Entry (RKE) receiving unit on certain Nissan, Kia, and Hyundai vehicles through 2017 allows remote attackers to perform unlock operations and force a resynchronization after capturing two consecutive val

nvd.nist.gov

 

'경로 및 정보' 카테고리의 다른 글

AUTH PLAIN error with Thunderbird and Dovecot 1.2  (0) 2023.03.05
SAML2 이하 경로  (0) 2023.03.05
validation / verification 차이  (0) 2023.03.03
iso 21434 참고  (0) 2023.03.03
Embedded Security Testing  (0) 2023.03.03
블로그 이미지

wtdsoul

,

https://www.a-ha.io/questions/49a15af8f21b921bada87a36ee1dfd80

 

 

두가지 용어는 저도 항상 헷갈려서 정리한 적이 있는데 내용 공유드립니다.

Verification (확인)

- 제품을 올바르게 만들고 있는가?

- 명세된 대로 기술되었고 동작하는지 보는 것

- 개발중간산출물에 기술된 내용 자체가 맞는지를 보는 것

- 이전단계에서 만들어진 산출물을 근거로 한 단계의 산출물을 검사하는 것

Validation (검증)

- 올바른 제품을 만들고 있는가?

- 원래 사용자가 원한 대로 개발되었는지를 확인하는 것

- 명세대로 되어 있어도 사용자가 실제로 원한 것이 아닌 사항을 사용자 관점에서 결함으로 보는 활동

만약 개발자가 엉뚱한 명세를 가지고 개발하고 테스트하였다면 Verification 측면에서는 우수한 품질이라고 할 수 있으나 Validation 측면에서는 우수하지 않은 품질이라고 할 수 있다.

 

 

블로그 이미지

wtdsoul

,

https://inspiredhobbyist.org/what-is-automotive-cybersecurity-iso-21434/

 

Automotive Cybersecurity ISO/SAE 21434 standard - Inspired Hobbyist

Automotive cybersecurity standard ISO/SAE 21434 aims to improve the cybersecurity process in the road vehicles engineering. This article guides to understand the standard.

inspiredhobbyist.org

 

 

블로그 이미지

wtdsoul

,

https://www.code-intelligence.com/embedded-security-testingEmbedded Security Testing: Best Practices & Challenges 2023 (code-intelligence.com)

 

Embedded Security Testing: Best Practices & Challenges 2023

Best practices for embedded security testing in 2023. Learn how security testing methods like modern fuzz testing can help to secure embedded software.

www.code-intelligence.com

 

 

블로그 이미지

wtdsoul

,