ਖੋਜ ਇੰਜਣ ਸਮੱਗਰੀ ਨੂੰ ਇੰਡੈਕਸ ਕਰਨ ਲਈ ਬਣਾਏ ਗਏ ਸਨ। ਹਾਲਾਂਕਿ, ਹਮਲਾਵਰ ਤੁਹਾਡੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਇੰਡੈਕਸ ਕਰਨ ਲਈ ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਪੁੱਛਗਿੱਛ allintext:login ਫਾਈਲ ਕਿਸਮ: ਲਾਗ ਨੁਕਸਾਨ ਰਹਿਤ ਲੱਗ ਸਕਦਾ ਹੈ। ਅਸਲ ਵਿੱਚ, ਇਹ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਵਾਹ, ਪ੍ਰਮਾਣ ਪੱਤਰ, ਟੋਕਨ, ਅਤੇ ਅੰਦਰੂਨੀ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੇ ਡੇਟਾ ਵਾਲੀਆਂ ਐਕਸਪੋਜ਼ਡ ਲੌਗ ਫਾਈਲਾਂ ਨੂੰ ਖੋਜਣ ਦੇ ਸਭ ਤੋਂ ਸਰਲ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ।
ਜੇਕਰ ਗੂਗਲ ਉਨ੍ਹਾਂ ਲੌਗਾਂ ਨੂੰ ਦੇਖ ਸਕਦਾ ਹੈ, ਤਾਂ ਹਮਲਾਵਰ ਵੀ ਦੇਖ ਸਕਦੇ ਹਨ। ਇੱਕ ਵਾਰ ਇੰਡੈਕਸ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਐਕਸਪੋਜਰ ਅਟੱਲ ਹੋ ਜਾਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜਦੋਂ ਪ੍ਰਮਾਣ ਪੱਤਰ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਫਾਈਲ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ, ਤਾਂ ਉਲੰਘਣਾ ਪਹਿਲਾਂ ਹੀ ਗਤੀ ਵਿੱਚ ਹੈ।
1. allintext ਕਿਉਂ:login filetype:log ਇਹ ਦੇਖਣ ਤੋਂ ਕਿਤੇ ਜ਼ਿਆਦਾ ਖ਼ਤਰਨਾਕ ਹੈ।
ਗੂਗਲ ਡਾਰਕ ਇੱਕ ਖੋਜ ਪੁੱਛਗਿੱਛ ਹੈ ਜੋ ਖੋਜ ਇੰਜਣਾਂ ਦੁਆਰਾ ਸੂਚੀਬੱਧ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਂ ਗਲਤ ਸੰਰਚਿਤ ਸਮੱਗਰੀ ਨੂੰ ਲੱਭਣ ਲਈ ਉੱਨਤ ਓਪਰੇਟਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਇਹ ਗੂਗਲ ਦਾ ਸ਼ੋਸ਼ਣ ਨਹੀਂ ਕਰਦਾ। ਇਸ ਦੀ ਬਜਾਏ, ਇਹ ਤੁਹਾਡੇ ਐਕਸਪੋਜ਼ਰ ਦਾ ਸ਼ੋਸ਼ਣ ਕਰਦਾ ਹੈ।
ਇਹ ਪੁੱਛਗਿੱਛ ਦੋ ਓਪਰੇਟਰਾਂ ਨੂੰ ਜੋੜਦੀ ਹੈ:
- allintext: ਉਹ ਪੰਨੇ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਸਾਰੇ ਸ਼ਬਦ ਮੁੱਖ ਟੈਕਸਟ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ।
- ਫਾਈਲ ਕਿਸਮ: ਲਾਗ ਨਤੀਜਿਆਂ ਨੂੰ ਇਹਨਾਂ ਤੱਕ ਸੀਮਤ ਕਰਦਾ ਹੈ
.logਫਾਇਲ
ਇਸ ਲਈ:
allintext:login filetype:log
ਮਤਲਬ: “ਮੈਨੂੰ ਉਹ ਲੌਗ ਫਾਈਲਾਂ ਦਿਖਾਓ ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਇਹ ਸ਼ਬਦ ਹੈ। login. "
ਪਹਿਲੀ ਨਜ਼ਰ 'ਤੇ, ਇਹ ਮਾਮੂਲੀ ਲੱਗਦਾ ਹੈ। ਹਾਲਾਂਕਿ, ਅਭਿਆਸ ਵਿੱਚ, ਇਹ ਅਕਸਰ ਵਾਪਸ ਆਉਂਦਾ ਹੈ:
- ਜਨਤਕ ਤੌਰ 'ਤੇ ਪ੍ਰਗਟ ਕੀਤੇ ਵੈੱਬ ਸਰਵਰ ਲੌਗ
- CI/CD ਲੌਗ ਨੂੰ ਕਲਾਕ੍ਰਿਤੀਆਂ ਵਜੋਂ ਅੱਪਲੋਡ ਕੀਤਾ ਗਿਆ
- ਗਲਤੀ ਨਾਲ ਲੌਗ ਡੀਬੱਗ ਕਰੋ commitਰਿਪੋਜ਼ਟਰੀਆਂ ਨੂੰ ਭੇਜਿਆ ਗਿਆ
- ਪਲੇਨਟੈਕਸਟ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਾਂ ਵਾਲੇ ਐਪਲੀਕੇਸ਼ਨ ਲੌਗ
ਇਹ ਕੋਈ ਸਰਚ ਇੰਜਣ ਬੱਗ ਨਹੀਂ ਹੈ। ਇਸਦੀ ਬਜਾਏ, ਇਹ ਇੱਕ ਡਾਟਾ ਐਕਸਪੋਜ਼ਰ ਕਮਜ਼ੋਰੀ ਗਲਤ ਸੰਰਚਨਾ ਕਾਰਨ। ਗੂਗਲ ਨੇ ਸਿਰਫ਼ ਉਸ ਚੀਜ਼ ਨੂੰ ਸੂਚੀਬੱਧ ਕੀਤਾ ਜੋ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਸੀ।
2. ਹਮਲਾਵਰ ਅਸਲ ਵਿੱਚ ਐਕਸਪੋਜ਼ਡ ਲੌਗ ਫਾਈਲਾਂ ਵਿੱਚ ਕੀ ਲੱਭਦੇ ਹਨ
ਜਦੋਂ ਹਮਲਾਵਰ ਭੱਜਦੇ ਹਨ allintext:login ਫਾਈਲ ਕਿਸਮ: ਲਾਗ, ਉਹ ਬੇਤਰਤੀਬੇ ਬ੍ਰਾਊਜ਼ਿੰਗ ਨਹੀਂ ਕਰ ਰਹੇ ਹਨ। ਉਹ ਪ੍ਰਮਾਣੀਕਰਨ ਟ੍ਰੇਸ ਲੱਭ ਰਹੇ ਹਨ।
2.1 ਪਲੇਨਟੈਕਸਟ ਪ੍ਰਮਾਣ ਪੱਤਰ
ਲੌਗਾਂ ਵਿੱਚ ਅਕਸਰ ਇੰਦਰਾਜ ਹੁੰਦੇ ਹਨ ਜਿਵੇਂ ਕਿ:
POST /login username=admin password=SuperSecret123
or
Authorization: Basic YWRtaW46cGFzc3dvcmQ=
ਜਾਂ SMTP ਪ੍ਰਮਾਣ ਪੱਤਰ ਵੀ:
smtp_user=mailer
smtp_pass=ProdMailPass!
ਲੌਗਿੰਗ ਪ੍ਰਮਾਣੀਕਰਨ ਪੇਲੋਡ ਉਤਪਾਦਨ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਲੀਕ ਕਰਨ ਦੇ ਸਭ ਤੋਂ ਤੇਜ਼ ਤਰੀਕਿਆਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ। ਨਤੀਜੇ ਵਜੋਂ, ਇੱਕ ਸਿੰਗਲ ਐਕਸਪੋਜ਼ਡ ਲੌਗ ਫਾਈਲ ਤੁਹਾਡੇ ਪੂਰੇ ਐਕਸੈਸ ਕੰਟਰੋਲ ਮਾਡਲ ਨੂੰ ਅਯੋਗ ਕਰ ਸਕਦੀ ਹੈ।
2.2 ਸੈਸ਼ਨ ਟੋਕਨ ਅਤੇ JWTs
ਜਦੋਂ ਪਾਸਵਰਡ ਲੌਗ ਨਹੀਂ ਹੁੰਦੇ, ਤਾਂ ਵੀ ਟੋਕਨ ਅਕਸਰ ਹੁੰਦੇ ਹਨ।
ਉਦਾਹਰਣ ਲਈ:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Set-Cookie: session=abc123xyz789;
Generated API token: sk_live_ABC123SECRET
ਇੱਕ ਦੇ ਅੰਦਰ ਇੱਕ ਵੈਧ JWT ਜਾਂ ਸੈਸ਼ਨ ਕੂਕੀ .log ਫਾਈਲ ਯੋਗ ਕਰ ਸਕਦੀ ਹੈ:
- ਸੈਸ਼ਨ ਹਾਈਜੈਕਿੰਗ
- ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ
- ਅੰਦਰੂਨੀ ਪ੍ਰਣਾਲੀਆਂ ਵਿੱਚ ਪਾਸੇ ਦੀ ਗਤੀ
ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਲੌਗਸ ਵਿੱਚ ਟੋਕਨ ਡੀਬੱਗਿੰਗ ਆਉਟਪੁੱਟ ਨੂੰ ਇੱਕ ਪ੍ਰਮਾਣੀਕਰਨ ਬਾਈਪਾਸ ਵੈਕਟਰ ਵਿੱਚ ਬਦਲ ਦਿੰਦੇ ਹਨ।
2.3 CI/CD ਆਰਟੀਫੈਕਟ
ਬਿਲਡ ਲੌਗ ਖਾਸ ਤੌਰ 'ਤੇ ਖ਼ਤਰਨਾਕ ਹੁੰਦੇ ਹਨ। ਦਰਅਸਲ, CI/CD ਸਿਸਟਮ ਅਕਸਰ ਬਿਲਡ ਸਟੈਪਸ ਦੌਰਾਨ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਪ੍ਰਿੰਟ ਕਰਦੇ ਹਨ।
ਹਮਲਾਵਰ ਅਕਸਰ ਖੋਜਦੇ ਹਨ:
ਇਸ ਵਿੱਚ ਲਾਈਨਾਂ ਸ਼ਾਮਲ ਹਨ ਜਿਵੇਂ ਕਿ:
AWS_ACCESS_KEY_ID=AKIA...
DATABASE_URL=postgres://admin:password@internal-db:5432/app
If CI/CD ਕਲਾਕ੍ਰਿਤੀਆਂ ਜਨਤਕ ਹਨ, ਫਿਰ ਭੇਦ ਜਨਤਕ ਹਨ। ਗੂਗਲ ਡਾਰਕ ਸਿਰਫ਼ ਖੋਜ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ।
2.4 ਕਲਾਉਡ ਅਤੇ ਬੁਨਿਆਦੀ ਢਾਂਚਾ ਡੇਟਾ
ਖੁੱਲ੍ਹੇ ਲੌਗ ਅਕਸਰ ਪ੍ਰਗਟ ਕਰਦੇ ਹਨ:
- AWS ਪਹੁੰਚ ਕੁੰਜੀਆਂ
- Azure ਸਟੋਰੇਜ ਕਨੈਕਸ਼ਨ ਸਟ੍ਰਿੰਗਸ
- ਅੰਦਰੂਨੀ ਸੇਵਾ URL
- ਡਾਟਾਬੇਸ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ
- ਰੈਡਿਸ ਐਂਡਪੁਆਇੰਟ
ਭਾਵੇਂ ਬਾਅਦ ਵਿੱਚ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਘੁੰਮਾਇਆ ਜਾਂਦਾ ਹੈ, ਹਮਲਾਵਰ ਕੋਲ ਹੁਣ ਇਹ ਹਨ:
- ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੀ ਮੈਪਿੰਗ
- ਨਾਮਕਰਨ ਸੰਮੇਲਨ
- ਭਵਿੱਖ ਦੇ ਹਮਲਿਆਂ ਲਈ ਖੁਫੀਆ ਜਾਣਕਾਰੀ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਓ
ਇਸ ਲਈ, ਖੁੱਲ੍ਹੇ ਲੌਗ ਪਹੁੰਚ ਅਤੇ ਖੋਜ ਦੋਵੇਂ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।
3. ਇਹ ਲੌਗ ਪਹਿਲੀ ਥਾਂ 'ਤੇ ਕਿਵੇਂ ਜਨਤਕ ਹੁੰਦੇ ਹਨ
ਲੌਗ ਗੂਗਲ ਵਿੱਚ ਜਾਦੂਈ ਢੰਗ ਨਾਲ ਨਹੀਂ ਦਿਖਾਈ ਦਿੰਦੇ। ਉਹ ਇੰਡੈਕਸ ਹੋ ਜਾਂਦੇ ਹਨ ਕਿਉਂਕਿ ਉਹ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਸਨ।
3.1 ਗਲਤ ਸੰਰਚਿਤ ਵੈੱਬ ਸਰਵਰ
ਆਮ ਪੈਟਰਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
/logs/ਬਿਨਾਂ ਪ੍ਰਮਾਣੀਕਰਨ ਦੇ ਪਹੁੰਚਯੋਗ ਡਾਇਰੈਕਟਰੀਆਂ- ਡਾਇਰੈਕਟਰੀ ਸੂਚੀਕਰਨ ਯੋਗ ਬਣਾਇਆ ਗਿਆ
- Nginx ਜਾਂ Apache ਕੱਚਾ ਪਰੋਸ ਰਹੇ ਹਨ
.logਫਾਇਲ
ਜੇਕਰ ਕੋਈ ਲਾਗ HTTP ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੈ, ਤਾਂ ਇਹ ਇੰਡੈਕਸੇਬਲ ਹੈ।
3.2 CI/CD ਆਰਟੀਫੈਕਟ ਐਕਸਪੋਜ਼ਰ
ਆਮ ਗਲਤੀਆਂ:
- ਜਨਤਕ ਕਲਾਕ੍ਰਿਤੀਆਂ ਨੂੰ ਇਸ ਵਿੱਚ ਸਮਰੱਥ ਬਣਾਇਆ ਗਿਆ GitHub ਕਾਰਵਾਈਆਂ
- S3 ਬਕੇਟ ਖੋਲ੍ਹਣ ਲਈ ਲੌਗ ਅੱਪਲੋਡ ਕੀਤੇ ਗਏ
- Pipeline ਪ੍ਰਮਾਣੀਕਰਨ ਤੋਂ ਬਿਨਾਂ ਪਹੁੰਚਯੋਗ ਨਿਸ਼ਾਨ
A pipeline ਜੋ ਕਿ ਇੱਕ ਜਨਤਕ ਬਾਲਟੀ ਵਿੱਚ ਲੱਕੜ ਦੇ ਲੌਗ ਸਟੋਰ ਕਰਦਾ ਹੈ, ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਆਪਣੇ ਭੇਦ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ।
3.3 ਉਤਪਾਦਨ ਵਿੱਚ ਡੀਬੱਗ ਮੋਡ
ਫਰੇਮਵਰਕ ਡਿਫਾਲਟ ਖ਼ਤਰਨਾਕ ਹੋ ਸਕਦੇ ਹਨ:
APP_DEBUG=true
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਬਹੁਤ ਜ਼ਿਆਦਾ ਬੇਨਤੀ ਲੌਗਿੰਗ ਪ੍ਰਿੰਟ ਕਰ ਸਕਦੀ ਹੈ:
- ਸਿਰਲੇਖ
- ਟੋਕਨ
- ਪੂਰੀ ਬੇਨਤੀ ਸੰਸਥਾਵਾਂ
ਉਤਪਾਦਨ ਵਿੱਚ ਡੀਬੱਗ ਲੌਗਿੰਗ ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੱਕ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਐਕਸਪੋਰਟਰ ਵਿੱਚ ਬਦਲ ਦਿੰਦੀ ਹੈ।
3.4 ਡੌਕਰ ਅਤੇ ਕੰਟੇਨਰ ਲੌਗ
ਕੰਟੇਨਰਾਈਜ਼ਡ ਵਾਤਾਵਰਣ ਨਵੇਂ ਐਕਸਪੋਜ਼ਰ ਮਾਰਗ ਪੇਸ਼ ਕਰਦੇ ਹਨ:
- ਸਾਂਝੇ ਵਾਲੀਅਮ ਵਿੱਚ ਮਾਊਂਟ ਕੀਤੇ ਲੌਗ
- ਸਾਈਡਕਾਰਸ ਅਸੁਰੱਖਿਅਤ ਐਂਡਪੁਆਇੰਟਾਂ 'ਤੇ ਲੌਗ ਨਿਰਯਾਤ ਕਰ ਰਹੇ ਹਨ
- ਲਾਗ dashboardਜਨਤਕ ਪਹੁੰਚ ਵਾਲੇ
ਜੇਕਰ ਕੰਟੇਨਰ ਲੌਗ HTTP ਜਾਂ ਓਪਨ ਸਟੋਰੇਜ ਰਾਹੀਂ ਸਾਹਮਣੇ ਆਉਂਦੇ ਹਨ, ਤਾਂ ਉਹ ਖੋਜਣਯੋਗ ਹੁੰਦੇ ਹਨ। ਅੰਤ ਵਿੱਚ, ਉਹਨਾਂ ਨੂੰ ਇੰਡੈਕਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।
4. ਯਥਾਰਥਵਾਦੀ ਹਮਲੇ ਦਾ ਪ੍ਰਵਾਹ: ਡੌਰਕ ਤੋਂ ਉਲੰਘਣਾ ਤੱਕ
ਇੱਕ ਆਮ ਹਮਲੇ ਦੀ ਲੜੀ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ:
ਹਮਲਾਵਰ ਦੌੜਦਾ ਹੈ:
allintext:login filetype:log
- ਲੱਭਤਾਂ ਦਾ ਪਰਦਾਫਾਸ਼
.logਫਾਇਲ - ਕੱractsੇ:
- JWT ਟੋਕਨ
- ਮੂਲ ਪ੍ਰਮਾਣੀਕਰਨ ਸਿਰਲੇਖ
- ਡਾਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਤਰ
ਇਹਨਾਂ ਦੇ ਵਿਰੁੱਧ ਪ੍ਰਮਾਣੀਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ:
- API ਅੰਤ ਬਿੰਦੂ
- ਐਡਮਿਨ ਪੈਨਲ
- ਅੰਦਰੂਨੀ ਸੇਵਾਵਾਂ
ਜੇਕਰ ਪ੍ਰਮਾਣੀਕਰਨ ਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਹਮਲਾਵਰ ਇਹ ਕਰ ਸਕਦਾ ਹੈ:
- ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਧਾਓ
- ਪਾਸੇ ਵੱਲ ਹਿਲਾਓ
- ਪਹੁੰਚ CI/CD
- ਸਪਲਾਈ ਚੇਨ ਨਾਲ ਸਮਝੌਤਾ ਕਰੋ
ਇੱਕ ਖੋਜ ਪੁੱਛਗਿੱਛ ਦੇ ਰੂਪ ਵਿੱਚ ਜੋ ਸ਼ੁਰੂ ਹੋਇਆ ਉਹ ਇਹ ਬਣ ਜਾਂਦਾ ਹੈ:
- ਸੈਸ਼ਨ ਹਾਈਜੈਕਿੰਗ
- ਅੰਦਰੂਨੀ ਪ੍ਰਮਾਣ ਪੱਤਰ ਭਰਨਾ
- Pipeline ਹਥਿਆਉਣ
- ਆਰਟੀਫੈਕਟ ਜ਼ਹਿਰ
ਇਹ ਸਭ ਇੱਕ ਜਨਤਕ ਤੌਰ 'ਤੇ ਇੰਡੈਕਸ ਕੀਤੀ ਲੌਗ ਫਾਈਲ ਤੋਂ।
5. "ਬਹੁਤ ਜ਼ਿਆਦਾ" ਲੌਗਿੰਗ ਇੱਕ ਐਪਸੇਕ ਸਮੱਸਿਆ ਕਿਉਂ ਹੈ
ਲੌਗਿੰਗ ਨਿਰਪੱਖ ਨਹੀਂ ਹੈ। ਇਸਦੀ ਬਜਾਏ, ਇਹ ਇੱਕ ਬਣਾਉਂਦਾ ਹੈ ਸੈਕੰਡਰੀ ਡਾਟਾ ਸਟੋਰ.
ਜੇਕਰ ਤੁਸੀਂ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਲੌਗ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਆਪਣੇ ਰਾਜ਼ਾਂ ਦੀ ਦੂਜੀ ਕਾਪੀ ਬਣਾਉਂਦੇ ਹੋ।
ਹਾਲਾਂਕਿ, ਲੌਗਸ ਨੂੰ ਅਕਸਰ ਧਮਕੀ ਮਾਡਲਿੰਗ ਤੋਂ ਬਾਹਰ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ। STRIDE ਦੇ ਤਹਿਤ, ਇਹ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਇਹਨਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ:
ਖੁਲਾਸਾ ਜਾਣਕਾਰੀ
ਇਸ ਲਈ, ਸੁਰੱਖਿਅਤ SDLC ਅਭਿਆਸਾਂ ਨੂੰ ਲੌਗਾਂ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਮੰਨਣਾ ਚਾਹੀਦਾ ਹੈ:
- ਸੁਰੱਖਿਆ-ਸੰਬੰਧਿਤ ਕਲਾਕ੍ਰਿਤੀਆਂ
- ਸੰਵੇਦਨਸ਼ੀਲ ਸੰਪਤੀਆਂ
- ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੇ ਹਿੱਸੇ ਜਿਨ੍ਹਾਂ ਨੂੰ ਸੁਰੱਖਿਆ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ
ਜੇਕਰ ਤੁਹਾਡਾ ਧਮਕੀ ਮਾਡਲ ਲੌਗਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਅਧੂਰਾ ਹੈ।
6. ਲੌਗ ਫਾਈਲਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣ ਪੱਤਰ ਲੀਕੇਜ ਨੂੰ ਕਿਵੇਂ ਰੋਕਿਆ ਜਾਵੇ
6.1 ਲਾਗਿੰਗ ਭੇਦ ਬੰਦ ਕਰੋ
ਕਦੇ ਵੀ ਲੌਗ ਨਾ ਕਰੋ:
- ਪਾਸਵਰਡ
- ਟੋਕਨ
- API ਕੁੰਜੀਆਂ
- ਸੈਸ਼ਨ ਆਈ.ਡੀ
- ਅਧਿਕਾਰ ਸਿਰਲੇਖ
ਡੀਬੱਗ ਮੋਡ ਵਿੱਚ ਵੀ।
ਜਦੋਂ ਵੀ ਸੰਭਵ ਹੋਵੇ, ਆਟੋਮੈਟਿਕ ਰੀਡੈਕਸ਼ਨ ਲਾਗੂ ਕਰੋ।
6.2 ਢਾਂਚਾਗਤ ਅਤੇ ਸੁਰੱਖਿਅਤ ਲੌਗਿੰਗ
ਮਾਸਕਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਦੇ ਨਾਲ ਸਟ੍ਰਕਚਰਡ ਲੌਗਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ।
ਉਦਾਹਰਨ (Node.js):
const logger = require('pino')({
redact: ['req.headers.authorization', 'body.password']
});
ਉਦਾਹਰਨ (ਪਾਈਥਨ):
class RedactFilter(logging.Filter):
def filter(self, record):
record.msg = record.msg.replace("password=", "password=***")
return True
ਮੁੱਖ ਸਿਧਾਂਤ ਸਰਲ ਹੈ: ਭੇਦ ਕਦੇ ਵੀ ਲੱਕੜ ਦੇ ਡੰਡੇ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਣੇ ਚਾਹੀਦੇ।
6.3 ਲੌਗ ਸਟੋਰੇਜ ਨੂੰ ਲਾਕ ਡਾਊਨ ਕਰੋ
ਸੁਰੱਖਿਆ ਨਿਯੰਤਰਣਾਂ ਵਿੱਚ ਇਹ ਸ਼ਾਮਲ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ:
- ਡਾਇਰੈਕਟਰੀ ਸੂਚੀ ਨੂੰ ਅਯੋਗ ਕਰੋ
- ਨੂੰ ਬਚਾਓ
/logs/ਪ੍ਰਮਾਣੀਕਰਨ ਵਾਲੇ ਰਸਤੇ - ਬਕੇਟ ਪਹੁੰਚ ਨੂੰ ਸੀਮਤ ਕਰੋ
- ਧਾਰਨ ਨੀਤੀਆਂ ਲਾਗੂ ਕਰੋ
- ਆਰਾਮ ਨਾਲ ਲੌਗਸ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰੋ
ਲੌਗ ਕਦੇ ਵੀ HTTP ਰਾਹੀਂ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਨਹੀਂ ਹੋਣੇ ਚਾਹੀਦੇ।
6.4 CI/CD Guardrails
ਹੱਥੀਂ ਸਮੀਖਿਆਵਾਂ ਕਾਫ਼ੀ ਨਹੀਂ ਹਨ। ਇਸਦੀ ਬਜਾਏ, ਸਵੈਚਾਲਿਤ ਨਿਯੰਤਰਣ ਲਾਗੂ ਕਰੋ:
- ਕਲਾਤਮਕ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਲੌਗਾਂ ਦੀ ਗੁਪਤ ਸਕੈਨਿੰਗ
- ਜੇਕਰ ਟੋਕਨਾਂ ਦਾ ਪਤਾ ਲੱਗਦਾ ਹੈ ਤਾਂ ਬਿਲਡ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦਾ ਹੈ
- ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਵਾਲੇ ਆਰਟੀਫੈਕਟ ਅੱਪਲੋਡਾਂ ਨੂੰ ਰੋਕੋ
- ਕਲਾਕ੍ਰਿਤੀਆਂ ਲਈ ਹੈਸ਼ ਪ੍ਰਮਾਣਿਕਤਾ
CI/CD ਇੰਡੈਕਸਿੰਗ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਐਕਸਪੋਜ਼ਰ ਨੂੰ ਬਲੌਕ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।
7. ਜ਼ਾਇਗੇਨੀ ਐਲਇੰਟੇਕਸ ਨੂੰ ਕਿਵੇਂ ਰੋਕਦਾ ਹੈ:login ਫਾਈਲ ਟਾਈਪ: ਲੌਗ ਘਟਨਾਵਾਂ
ਸਮੱਸਿਆ ਗੂਗਲ ਡਾਰਕ ਦੀ ਨਹੀਂ ਹੈ। ਸਮੱਸਿਆ ਐਕਸਪੋਜਰ ਦੀ ਹੈ। ਇਸ ਲਈ, ਇੰਡੈਕਸਿੰਗ ਤੋਂ ਪਹਿਲਾਂ ਰੋਕਥਾਮ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
7.1 ਲੌਗਸ ਅਤੇ ਕਲਾਕ੍ਰਿਤੀਆਂ ਵਿੱਚ ਗੁਪਤ ਖੋਜ
ਜ਼ਾਇਜੇਨੀ ਸਕੈਨ:
- ਐਪਲੀਕੇਸ਼ਨ ਲੌਗਸ
- CI/CD ਨੌਕਰੀ ਦੇ ਨਿਸ਼ਾਨ
- ਕਲਾਕ੍ਰਿਤੀਆਂ ਬਣਾਓ
- ਡੌਕਰ ਪਰਤਾਂ
- ਸੀਰੀਅਲਾਈਜ਼ਡ ਆਉਟਪੁੱਟ
ਜੇਕਰ ਕ੍ਰੇਡੇੰਸ਼ਿਅਲ, ਟੋਕਨ, ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਮੁੱਲ ਇਸ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ .log ਫਾਈਲਾਂ, Xygeni ਉਹਨਾਂ ਨੂੰ ਤੁਰੰਤ ਫਲੈਗ ਕਰਦਾ ਹੈ।
7.2 CI/CD Guardrails ਉਹ ਬਲਾਕ ਐਕਸਪੋਜ਼ਰ
ਹੱਥੀਂ ਸਮੀਖਿਆਵਾਂ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ, ਜ਼ਾਇਗੇਨੀ ਸੁਰੱਖਿਆ ਲਾਗੂ ਕਰਦਾ ਹੈ pipeline ਪੱਧਰ:
dotnet xygeni enforce --rules secrets,artifacts,logs --fail-on-risk
ਇਹ:
- ਜਦੋਂ ਭੇਦ ਲੌਗਸ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੇ ਹਨ ਤਾਂ ਬਿਲਡ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦੇ ਹਨ।
- ਬਲਾਕ ਆਰਟੀਫੈਕਟ ਪ੍ਰਕਾਸ਼ਨ
- ਅਚਾਨਕ ਜਨਤਕ ਐਕਸਪੋਜਰ ਨੂੰ ਰੋਕਦਾ ਹੈ
- ਮੁੱਖ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਅਸੁਰੱਖਿਅਤ ਮਰਜ ਨੂੰ ਰੋਕਦਾ ਹੈ
ਜੇਕਰ ਕੋਈ CI ਜੌਬ ਇੱਕ ਟੋਕਨ ਪ੍ਰਿੰਟ ਕਰਦੀ ਹੈ, ਤਾਂ pipeline ਫੇਲ ਹੋ ਜਾਂਦਾ ਹੈ
ਕੋਈ ਇੰਡੈਕਸਿੰਗ ਨਹੀਂ।
ਕੋਈ ਐਕਸਪੋਜ਼ਰ ਨਹੀਂ।
ਕੋਈ ਘਟਨਾ ਨਹੀਂ।
7.3 ਗੂਗਲ ਦੇ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ਿਫਟ-ਖੱਬੇ ਸੁਰੱਖਿਆ
ਸਮਾਂ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ।
ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਦੀ ਬਜਾਏ:
allintext:login filetype:log
ਜ਼ਾਇਗੇਨੀ ਮੁੱਦਾ ਰੋਕਦਾ ਹੈ:
- At commit ਵਾਰ
- ਦੇ ਦੌਰਾਨ pull request ਪ੍ਰਮਾਣਿਕਤਾ
- ਦੇ ਦੌਰਾਨ pipeline ਲਾਗੂ ਕਰਨਾ
- ਕਲਾਤਮਕ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ
ਜੇਕਰ ਲੌਗ ਕਦੇ ਜਨਤਕ ਨਹੀਂ ਹੁੰਦਾ, ਤਾਂ ਗੂਗਲ ਇਸਨੂੰ ਕਦੇ ਵੀ ਇੰਡੈਕਸ ਨਹੀਂ ਕਰਦਾ।
ਅੰਤਿਮ ਸਿੱਟਾ: ਜੇਕਰ ਗੂਗਲ ਇਸਨੂੰ ਇੰਡੈਕਸ ਕਰ ਸਕਦਾ ਹੈ, ਤਾਂ ਹਮਲਾਵਰਾਂ ਨੇ ਪਹਿਲਾਂ ਹੀ ਕਰ ਦਿੱਤਾ ਹੈ
ਲੌਗ ਨੁਕਸਾਨਦੇਹ ਨਹੀਂ ਹਨ। ਦਰਅਸਲ, ਇਹ ਬਹੁਤ ਘੱਟ ਅਸਥਾਈ ਹੁੰਦੇ ਹਨ। ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ, ਇਹ ਨਿੱਜੀ ਨਹੀਂ ਹੁੰਦੇ। ਇਸ ਲਈ, ਹਰੇਕ ਲੌਗ ਫਾਈਲ ਨੂੰ ਸਿਰਫ਼ ਡੀਬੱਗਿੰਗ ਆਉਟਪੁੱਟ ਹੀ ਨਹੀਂ, ਸਗੋਂ ਸੁਰੱਖਿਆ-ਸੰਬੰਧਿਤ ਸੰਪਤੀ ਵਜੋਂ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਜੇਕਰ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ a ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ .log ਫਾਈਲ ਕਰਦਾ ਹੈ ਅਤੇ ਜਨਤਕ ਤੌਰ 'ਤੇ ਪਹੁੰਚਯੋਗ ਬਣ ਜਾਂਦਾ ਹੈ, ਇਹ ਤੁਰੰਤ ਇੱਕ ਹਮਲੇ ਵਾਲੀ ਸਤ੍ਹਾ ਵਿੱਚ ਬਦਲ ਜਾਂਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇੱਕ ਵਾਰ ਸਰਚ ਇੰਜਣ ਦੁਆਰਾ ਇੰਡੈਕਸ ਕੀਤੇ ਜਾਣ ਤੋਂ ਬਾਅਦ, ਐਕਸਪੋਜ਼ਰ ਤੁਹਾਡੇ ਨਿਯੰਤਰਣ ਤੋਂ ਬਾਹਰ ਹੋ ਜਾਂਦਾ ਹੈ।
ਹੱਲ ਲੌਗਿੰਗ ਨੂੰ ਰੋਕਣਾ ਨਹੀਂ ਹੈ। ਸਗੋਂ, ਇਹ ਜ਼ਿੰਮੇਵਾਰੀ ਨਾਲ ਲੌਗ ਕਰਨਾ ਹੈ ਅਤੇ ਸਟੋਰੇਜ ਅਤੇ ਵੰਡ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਸਖ਼ਤ ਨਿਯੰਤਰਣ ਲਾਗੂ ਕਰਨਾ ਹੈ। ਦੂਜੇ ਸ਼ਬਦਾਂ ਵਿੱਚ, ਸੁਰੱਖਿਆ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਤੋਂ ਪਰੇ ਅਤੇ ਨਿਰੀਖਣਯੋਗਤਾ ਪਰਤ ਤੱਕ ਫੈਲਣਾ ਚਾਹੀਦਾ ਹੈ।
ਇਸ ਦੀ ਬਜਾਏ:
- ਭੇਦ ਰਿਕਾਰਡ ਕਰਨਾ ਬੰਦ ਕਰੋ
- ਲੌਗ ਸਟੋਰੇਜ ਨੂੰ ਲਾਕ ਕਰੋ
- ਲਾਗੂ ਕਰੋ pipeline guardrails
- ਸਵੈਚਾਲਿਤ ਖੋਜ ਅਤੇ ਨੀਤੀ ਲਾਗੂਕਰਨ
ਅਖੀਰ, ਰੋਕਥਾਮ ਸਮੇਂ ਬਾਰੇ ਹੈ। ਕਿਉਂਕਿ ਇੱਕ ਵਾਰ allintext:login ਫਾਈਲ ਕਿਸਮ: ਲਾਗ ਤੁਹਾਡਾ ਡੋਮੇਨ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਤਾਂ ਘਟਨਾ ਪਹਿਲਾਂ ਹੀ ਸ਼ੁਰੂ ਹੋ ਚੁੱਕੀ ਹੈ।







