ਹਰ pull request ਜੋ ਕਿਸੇ ਐਂਡਪੁਆਇੰਟ ਨੂੰ ਜੋੜਦਾ ਜਾਂ ਬਦਲਦਾ ਹੈ, ਤੁਹਾਡੀ API ਹਮਲੇ ਦੀ ਸਤ੍ਹਾ ਨੂੰ ਬਦਲ ਦਿੰਦਾ ਹੈ। ਜ਼ਿਆਦਾਤਰ API ਸੁਰੱਖਿਆ ਟੂਲ ਉਦੋਂ ਤੱਕ ਧਿਆਨ ਨਹੀਂ ਦਿੰਦੇ ਜਦੋਂ ਤੱਕ ਉਹ ਐਂਡਪੁਆਇੰਟ ਲਾਈਵ ਨਹੀਂ ਹੁੰਦਾ ਅਤੇ ਪਹਿਲਾਂ ਹੀ ਟ੍ਰੈਫਿਕ ਨਹੀਂ ਲੈ ਰਿਹਾ ਹੁੰਦਾ। ਉਦੋਂ ਤੱਕ, ਫਿਕਸ ਹੁਣ ਕੋਡ ਸਮੀਖਿਆ ਵਿੱਚ ਇੱਕ-ਲਾਈਨ ਤਬਦੀਲੀ ਨਹੀਂ ਹੈ, ਇਹ ਇੱਕ ਘਟਨਾ ਪ੍ਰਤੀਕਿਰਿਆ ਗੱਲਬਾਤ ਹੈ।
API ਸੁਰੱਖਿਆ ਇੱਕ ਅਜਿਹਾ ਅਭਿਆਸ ਹੈ ਜਿਸ ਵਿੱਚ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਆਪਣੇ ਅੰਤਮ ਬਿੰਦੂਆਂ ਨੂੰ ਕਿਵੇਂ ਉਜਾਗਰ ਕਰਦੀ ਹੈ, ਇਸ ਵਿੱਚ ਜੋਖਮਾਂ ਨੂੰ ਲੱਭਣ ਅਤੇ ਬੰਦ ਕਰਨ ਦਾ ਅਭਿਆਸ ਹੈ: ਉਹਨਾਂ ਨੂੰ ਕੌਣ ਕਾਲ ਕਰ ਸਕਦਾ ਹੈ, ਉਹ ਕਿਹੜਾ ਡੇਟਾ ਵਾਪਸ ਕਰਦੇ ਹਨ, ਅਤੇ ਕੀ ਉਹ ਉਹੀ ਕਰਦੇ ਹਨ ਜੋ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਕਿਹਾ ਗਿਆ ਹੈ।
ਇਸ ਸਮੱਸਿਆ ਲਈ ਬਣਾਏ ਗਏ ਜ਼ਿਆਦਾਤਰ ਟੂਲਿੰਗ ਰਨਟਾਈਮ 'ਤੇ API ਦੀ ਬਾਹਰੋਂ ਜਾਂਚ ਕਰਦੇ ਹਨ, ਉਸੇ ਤਰ੍ਹਾਂ ਜਿਵੇਂ ਇੱਕ ਹਮਲਾਵਰ ਕਰਦਾ ਹੈ। ਇਹ ਤਰੀਕਾ ਕੰਮ ਕਰਦਾ ਹੈ, ਪਰ ਇਹ API ਨੂੰ ਤੈਨਾਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ। ਜ਼ਾਇਗੇਨੀ ਪਹਿਲਾਂ ਵਾਲਾ ਰਸਤਾ ਅਪਣਾਉਂਦਾ ਹੈ: ਇਹ ਤੁਹਾਡੇ ਸਰੋਤ ਕੋਡ ਅਤੇ ਤੁਹਾਡੇ API ਨਿਰਧਾਰਨ ਨੂੰ ਪੜ੍ਹਦਾ ਹੈ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਕੋਈ ਇੱਕ ਵੀ ਬੇਨਤੀ ਅੰਤਮ ਬਿੰਦੂ 'ਤੇ ਪਹੁੰਚੇ।
API ਦੀ ਜਾਂਚ ਕਰਨ ਦੇ ਚਾਰ ਤਰੀਕੇ, ਅਤੇ ਹਰੇਕ ਕੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ
ਜ਼ਿਆਦਾਤਰ ਪਰਿਪੱਕ ਪ੍ਰੋਗਰਾਮ ਇਹਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਤੋਂ ਵੱਧ ਚਲਾਉਂਦੇ ਹਨ:
- ਸਥਿਰ ਟੈਸਟਿੰਗ ਤੈਨਾਤੀ ਤੋਂ ਪਹਿਲਾਂ ਸਰੋਤ ਕੋਡ ਅਤੇ API ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦਾ ਹੈ। ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ "ਅਸੀਂ ਹੁਣੇ ਕੀ ਪ੍ਰਗਟ ਕੀਤਾ?" ਇਹ ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ 'ਤੇ ਇਹ ਲੇਖ ਕੇਂਦਰਿਤ ਹੈ।
- ਗਤੀਸ਼ੀਲ ਟੈਸਟਿੰਗ (DAST) ਇੱਕ ਚੱਲ ਰਹੇ API 'ਤੇ ਅਸਲ ਟ੍ਰੈਫਿਕ ਭੇਜਦਾ ਹੈ ਅਤੇ ਦੇਖਦਾ ਹੈ ਕਿ ਇਹ ਕਿਵੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦਾ ਹੈ। ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ ਕਿ "ਇਸ ਸਮੇਂ ਅਸਲ ਵਿੱਚ ਕੀ ਪਹੁੰਚਯੋਗ ਅਤੇ ਸ਼ੋਸ਼ਣਯੋਗ ਹੈ?"
- ਫਜ਼ਿੰਗ ਸਤ੍ਹਾ ਕਰੈਸ਼ਾਂ ਅਤੇ ਐਜ-ਕੇਸ ਅਸਫਲਤਾਵਾਂ ਲਈ ਅੰਤਮ ਬਿੰਦੂਆਂ 'ਤੇ ਖਰਾਬ ਜਾਂ ਅਣਕਿਆਸੇ ਇਨਪੁੱਟ ਸੁੱਟਦਾ ਹੈ। ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ "ਇਨਪੁੱਟ ਦੇ ਅਧੀਨ ਕਿਹੜੇ ਬ੍ਰੇਕ ਜਿਨ੍ਹਾਂ ਦੀ ਅਸੀਂ ਉਮੀਦ ਨਹੀਂ ਕੀਤੀ ਸੀ?"
- ਹੱਥੀਂ ਪ੍ਰਵੇਸ਼ ਟੈਸਟਿੰਗ ਇਹ ਆਟੋਮੇਟਿਡ ਟੂਲਸ ਦੀ ਘਾਟ ਵਾਲੇ ਤਰਕ ਦੀਆਂ ਖਾਮੀਆਂ ਨੂੰ ਲੱਭਣ ਲਈ ਮਨੁੱਖੀ ਨਿਰਣੇ ਨੂੰ ਜੋੜਦਾ ਹੈ। ਇਹ ਜਵਾਬ ਦਿੰਦਾ ਹੈ "ਇੱਕ ਸਮਾਰਟ ਹਮਲਾਵਰ ਕੀ ਇਕੱਠੇ ਕਰੇਗਾ?"
ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਦੂਜਿਆਂ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦਾ। ਇਹ ਜੀਵਨ ਚੱਕਰ ਦੇ ਵੱਖ-ਵੱਖ ਬਿੰਦੂਆਂ 'ਤੇ ਵੱਖ-ਵੱਖ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਜ਼ਿਆਦਾਤਰ ਪ੍ਰੋਗਰਾਮਾਂ ਵਿੱਚ ਪਹਿਲਾ ਪਾੜਾ ਹੁੰਦਾ ਹੈ।
ਜ਼ਿਆਦਾਤਰ API ਸੁਰੱਖਿਆ ਟੂਲ ਜੋਖਮ ਨੂੰ ਬਹੁਤ ਦੇਰ ਨਾਲ ਕਿਉਂ ਦੇਖਦੇ ਹਨ
ਰਨਟਾਈਮ API ਸੁਰੱਖਿਆ ਟੈਸਟਿੰਗ ਇੱਕ ਲਾਈਵ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਟ੍ਰੈਫਿਕ ਭੇਜਦੀ ਹੈ ਅਤੇ ਦੇਖਦੀ ਹੈ ਕਿ ਇਹ ਕਿਵੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦੀ ਹੈ। ਇਹ ਇੱਕ ਜਾਇਜ਼ ਅਤੇ ਜ਼ਰੂਰੀ ਪਰਤ ਹੈ। ਇਹ, ਨਿਰਮਾਣ ਦੁਆਰਾ, ਇੱਕ ਪਛੜਨ ਵਾਲਾ ਸੂਚਕ ਵੀ ਹੈ: ਇੱਕ ਅੰਤਮ ਬਿੰਦੂ ਮੌਜੂਦ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਤੈਨਾਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਰਨਟਾਈਮ ਸਕੈਨਰ ਇਸ ਬਾਰੇ ਕੁਝ ਵੀ ਕਹਿ ਸਕਦਾ ਹੈ, ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਪਹੁੰਚਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਜੋ ਵੀ ਲੱਭਦਾ ਹੈ ਉਹ ਪਹਿਲਾਂ ਹੀ ਸਾਹਮਣੇ ਆ ਚੁੱਕਾ ਸੀ ਭਾਵੇਂ ਸਕੈਨ ਨੂੰ ਚਲਾਉਣ ਵਿੱਚ ਕਿੰਨਾ ਵੀ ਸਮਾਂ ਲੱਗਿਆ।
ਉਸ ਸਮੇਂ ਦੀ ਸਮੱਸਿਆ ਦੇ ਹੇਠਾਂ ਇੱਕ ਦੂਜਾ ਪਾੜਾ ਹੈ। ਰਨਟਾਈਮ ਟੂਲ ਸਿਰਫ਼ ਉਹੀ ਟੈਸਟ ਕਰ ਸਕਦੇ ਹਨ ਜੋ ਉਹ ਜਾਣਦੇ ਹਨ ਕਿ ਮੌਜੂਦ ਹੈ। ਜੇਕਰ ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਕਦੇ ਵੀ ਦਸਤਾਵੇਜ਼ੀ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ, ਜਾਂ OpenAPI ਸਪੈਕ ਉਸ ਸਮੇਂ ਪੁਰਾਣਾ ਹੋ ਗਿਆ ਸੀ ਜਦੋਂ ਕੋਈ ਨਵਾਂ ਰੂਟ ਭੇਜਦਾ ਹੈ, ਤਾਂ ਇੱਕ ਰਨਟਾਈਮ ਸਕੈਨਰ ਕੋਲ ਇਹ ਜਾਣਨ ਦਾ ਕੋਈ ਤਰੀਕਾ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਇਹ ਉੱਥੇ ਹੈ। ਇਹ ਨਕਸ਼ੇ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ, ਖੇਤਰ ਦੀ ਨਹੀਂ।
ਸਟੈਟਿਕ API ਸੁਰੱਖਿਆ ਟੈਸਟਿੰਗ ਚੈੱਕ ਨੂੰ ਉਸ ਥਾਂ 'ਤੇ ਲੈ ਕੇ ਦੋਵਾਂ ਪਾੜਿਆਂ ਨੂੰ ਬੰਦ ਕਰਦੀ ਹੈ ਜਿੱਥੇ ਐਂਡਪੁਆਇੰਟ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਹੈ: ਤੁਹਾਡਾ ਕੋਡ ਅਤੇ ਤੁਹਾਡਾ API ਨਿਰਧਾਰਨ, ਤੈਨਾਤੀ ਤੋਂ ਪਹਿਲਾਂ। ਉਹੀ। pull request ਜੋ ਇੱਕ ਅੰਤਮ ਬਿੰਦੂ ਪੇਸ਼ ਕਰਦਾ ਹੈ ਉਹ ਹੈ pull request ਜੋ ਇਸਦੇ ਜੋਖਮ ਨੂੰ ਸਾਹਮਣੇ ਲਿਆਉਂਦਾ ਹੈ।
ਸਟੈਟਿਕ ਏਪੀਆਈ ਸੁਰੱਖਿਆ ਦਾ ਅਸਲ ਵਿੱਚ ਕੀ ਅਰਥ ਹੈ?
Xygeni ਤੁਹਾਡੀ API ਇਨਵੈਂਟਰੀ ਦੋ ਸਰੋਤਾਂ ਤੋਂ ਬਣਾਉਂਦਾ ਹੈ: ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਸਰੋਤ ਕੋਡ ਅਤੇ ਤੁਹਾਡੀਆਂ API ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ, ਜਿਸ ਵਿੱਚ OpenAPI ਅਤੇ Swagger ਸ਼ਾਮਲ ਹਨ।
ਇੱਕ ਸਪੈਕ-ਓਨਲੀ ਵਸਤੂ ਸੂਚੀ ਉਹਨਾਂ ਅੰਤਮ ਬਿੰਦੂਆਂ ਨੂੰ ਦਰਸਾਉਂਦੀ ਹੈ ਜੋ ਕਿਸੇ ਨੂੰ ਦਸਤਾਵੇਜ਼ ਬਣਾਉਣ ਲਈ ਯਾਦ ਸਨ। ਇੱਕ ਕੋਡ-ਓਨਲੀ ਵਸਤੂ ਸੂਚੀ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕੀ ਮੌਜੂਦ ਹੈ ਪਰ ਜ਼ਰੂਰੀ ਨਹੀਂ ਕਿ ਇਸਨੂੰ ਕਿਵੇਂ ਵਰਤਿਆ ਜਾਣਾ ਸੀ। ਦੋਵਾਂ ਨੂੰ ਪੜ੍ਹਨ ਨਾਲ ਤੁਹਾਨੂੰ ਪੂਰੀ ਤਸਵੀਰ ਮਿਲਦੀ ਹੈ: ਤੁਹਾਡੀਆਂ ਟੀਮਾਂ ਦੁਆਰਾ ਦਸਤਾਵੇਜ਼ ਕੀਤੇ ਗਏ ਅੰਤਮ ਬਿੰਦੂ, ਅਤੇ ਉਹ ਜੋ ਕਿਸੇ ਨੇ ਨਹੀਂ ਕੀਤੇ।
ਉਹ ਵਸਤੂ ਸੂਚੀ ਉਹ ਨੀਂਹ ਹੈ ਜਿਸ 'ਤੇ ਬਾਕੀ ਸਭ ਕੁਝ ਬਣਦਾ ਹੈ:
- ਕੁੱਲ API ਖੋਜੇ ਗਏ, ਅਤੇ ਜੋਖਮ ਵਿੱਚ ਸੰਪਤੀਆਂ ਨੂੰ ਇੱਕ ਬੇਸਲਾਈਨ ਦੇ ਵਿਰੁੱਧ ਮਾਪਿਆ ਗਿਆ
- HTTP ਵਿਧੀ ਦੁਆਰਾ ਵੰਡੇ ਗਏ ਅੰਤਮ ਬਿੰਦੂ
- ਸੇਵਾ ਅਨੁਸਾਰ ਸਮੂਹਬੱਧ ਮੁੱਦੇ
- ਹਰੇਕ ਅੰਤਮ ਬਿੰਦੂ ਇਸਦੇ ਢੰਗ, ਮਾਰਗ, ਸੇਵਾ, ਮੋਡੀਊਲ, ਪ੍ਰਮਾਣੀਕਰਨ ਸਥਿਤੀ ਅਤੇ ਜੋਖਮ ਸਕੋਰ ਦੇ ਨਾਲ
ਤੁਹਾਡੇ ਇੰਜੀਨੀਅਰਿੰਗ ਲੀਡ ਇੱਕ ਵੀ ਟਿਕਟ ਖੋਲ੍ਹੇ ਬਿਨਾਂ ਤੁਹਾਡੀ API ਸਤ੍ਹਾ ਦੀ ਸ਼ਕਲ ਦੇਖਦੇ ਹਨ।
Xygeni ਦੁਆਰਾ ਲੱਭਿਆ ਗਿਆ ਹਰ ਐਂਡਪੁਆਇੰਟ, ਇਸਦੇ ਢੰਗ, ਪ੍ਰਮਾਣੀਕਰਨ ਸਥਿਤੀ ਅਤੇ ਜੋਖਮ ਸਕੋਰ ਦੇ ਨਾਲ, ਕੋਡ ਅਤੇ ਨਿਰਧਾਰਨ ਨੂੰ ਇਕੱਠੇ ਮਿਲਾ ਕੇ ਬਣਾਇਆ ਗਿਆ ਹੈ।
Production note ਕਿਸੇ ਵੀ API ਸੁਰੱਖਿਆ ਸਕ੍ਰੀਨਸ਼ੌਟ ਤੋਂ AI ਟ੍ਰਾਈਏਜ ਪੈਨਲ ਨੂੰ ਕੱਟੋ।
OWASP API ਸੁਰੱਖਿਆ ਸਿਖਰਲੇ 10 ਨਾਲ ਮੈਪ ਕੀਤਾ ਗਿਆ
ਖੋਜਾਂ ਉਸ ਢਾਂਚੇ ਬਾਰੇ ਦੱਸਦੀਆਂ ਹਨ ਜੋ ਤੁਹਾਡੀਆਂ ਸੁਰੱਖਿਆ ਟੀਮਾਂ ਅਤੇ ਤੁਹਾਡੇ ਆਡੀਟਰ ਪਹਿਲਾਂ ਹੀ ਵਰਤ ਰਹੇ ਹਨ। Xygeni OWASP API ਸੁਰੱਖਿਆ ਵਿੱਚ ਜੋਖਮ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ। ਸਿਖਰਲੇ 10 (2023):
| OWASP | ਜੋਖਮ | ਅਭਿਆਸ ਵਿੱਚ ਇਸਦਾ ਕੀ ਅਰਥ ਹੈ |
|---|---|---|
API1 | ਟੁੱਟੇ ਹੋਏ ਆਬਜੈਕਟ ਪੱਧਰ ਦਾ ਅਧਿਕਾਰ | ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਕਿਸੇ ਹੋਰ ਉਪਭੋਗਤਾ ਜਾਂ ਕਿਰਾਏਦਾਰ ਨਾਲ ਸਬੰਧਤ ਡੇਟਾ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਾਂ ਸੋਧਦਾ ਹੈ। |
API2 | ਅਣ-ਪ੍ਰਮਾਣਿਤ ਅੰਤਮ ਬਿੰਦੂ | ਇੱਕ ਰਸਤਾ ਬਿਨਾਂ ਕਿਸੇ ਪ੍ਰਮਾਣੀਕਰਨ ਦੇ ਪਹੁੰਚਯੋਗ ਹੈ |
API3 | ਬਹੁਤ ਜ਼ਿਆਦਾ ਡਾਟਾ ਐਕਸਪੋਜਰ | ਇੱਕ ਜਵਾਬ ਕਾਲਰ ਦੀ ਲੋੜ ਤੋਂ ਵੱਧ ਖੇਤਰ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਾਂ ਦੇਖਣਾ ਚਾਹੀਦਾ ਹੈ |
API3 | ਮਾਸ ਅਸਾਈਨਮੈਂਟ | ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਉਹਨਾਂ ਖੇਤਰਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਕਦੇ ਵੀ ਸਵੀਕਾਰ ਕਰਨ ਲਈ ਨਹੀਂ ਸੀ। |
API3 / API10 | ਜਵਾਬਾਂ ਵਿੱਚ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ | PII, PCI ਜਾਂ PHI ਕਲਾਇੰਟ ਤੱਕ ਇੱਕ ਅਜਿਹੇ ਅੰਤਮ ਬਿੰਦੂ ਤੋਂ ਪਹੁੰਚਦਾ ਹੈ ਜਿਸਨੂੰ ਇਸਨੂੰ ਨਹੀਂ ਭੇਜਣਾ ਚਾਹੀਦਾ। |
API4 | ਖੁੰਝੀਆਂ ਦਰ ਸੀਮਾਵਾਂ | ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਕੋਲ ਦੁਰਵਿਵਹਾਰ ਜਾਂ ਜ਼ਬਰਦਸਤੀ ਕਾਲਾਂ ਤੋਂ ਕੋਈ ਸੁਰੱਖਿਆ ਨਹੀਂ ਹੈ। |
API5 | ਟੁੱਟਿਆ ਹੋਇਆ ਫੰਕਸ਼ਨ ਲੈਵਲ ਅਥਾਰਾਈਜ਼ੇਸ਼ਨ | ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਕਾਲਰ ਨੂੰ ਇਜਾਜ਼ਤ ਹੈ ਜਾਂ ਨਹੀਂ ਇਸਦੀ ਜਾਂਚ ਕੀਤੇ ਬਿਨਾਂ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਪ੍ਰਾਪਤ ਕਾਰਵਾਈ ਕਰਦਾ ਹੈ |
API7 | ਐਸ.ਐਸ.ਆਰ.ਐਫ | API ਨੂੰ ਹਮਲਾਵਰ ਦੀ ਤਰਫ਼ੋਂ ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ ਧੋਖਾ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ। |
API8 | JWT ਗਲਤ ਸੰਰਚਨਾ | ਟੋਕਨ ਪ੍ਰਮਾਣਿਕਤਾ, ਦਸਤਖਤ, ਜਾਂ ਮਿਆਦ ਪੁੱਗਣ ਦੀ ਤਾਰੀਖ ਗਲਤ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕੀਤੀ ਗਈ ਹੈ |
API8 | CORS ਗਲਤ ਸੰਰਚਨਾ | ਕਰਾਸ-ਮੂਲ ਨਿਯਮ ਸ਼ੋਸ਼ਣਯੋਗ ਹੋਣ ਲਈ ਕਾਫ਼ੀ ਇਜਾਜ਼ਤ ਦੇਣ ਵਾਲੇ ਹਨ। |
API9 | ਜ਼ੋਂਬੀ ਅਤੇ ਅਨਾਥ ਅੰਤਮ ਬਿੰਦੂ | ਨਾਪਸੰਦ ਕੀਤੇ ਜਾਂ ਭੁੱਲੇ ਹੋਏ ਰਸਤੇ ਜੋ ਅਜੇ ਵੀ ਪਹੁੰਚਯੋਗ ਹਨ, ਅਤੇ ਰਸਤੇ ਜੋ ਕਿਸੇ ਦੇ ਨਹੀਂ ਹਨ |
ਇੱਕ ਸ਼੍ਰੇਣੀ ਜਾਣਬੁੱਝ ਕੇ ਗੈਰਹਾਜ਼ਰ ਹੈ। API6, ਸੰਵੇਦਨਸ਼ੀਲ ਵਪਾਰਕ ਪ੍ਰਵਾਹਾਂ ਤੱਕ ਅਣ-ਪ੍ਰਤੀਬੰਧਿਤ ਪਹੁੰਚ, ਨੂੰ ਇਹ ਸਮਝਣ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ ਇੱਕ ਵਪਾਰਕ ਪ੍ਰਕਿਰਿਆ ਕੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਸਥਿਰ ਵਿਸ਼ਲੇਸ਼ਕ ਇਸਨੂੰ ਭਰੋਸੇਯੋਗਤਾ ਨਾਲ ਨਹੀਂ ਖੋਜਦਾ। ਕੋਈ ਵੀ ਵਿਕਰੇਤਾ ਜੋ ਹੋਰ ਦਾਅਵਾ ਕਰ ਰਿਹਾ ਹੈ ਉਹ ਤੁਹਾਨੂੰ ਇੱਕ ਚੈੱਕਬਾਕਸ ਵੇਚ ਰਿਹਾ ਹੈ। ਉਹ ਤੁਹਾਡੇ ਧਮਕੀ ਮਾਡਲਿੰਗ ਅਤੇ ਤੁਹਾਡੇ ਪ੍ਰਵੇਸ਼ ਟੈਸਟਰਾਂ ਨਾਲ ਰਹਿੰਦਾ ਹੈ।
ਹਰ ਖੋਜ ਬਰਾਬਰ ਨਹੀਂ ਹੁੰਦੀ: ਡੇਟਾ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਅਤੇ ਜ਼ਹਿਰੀਲੇ ਸੁਮੇਲ
ਖੋਜਾਂ ਦੀ ਇੱਕ ਸਮਤਲ ਸੂਚੀ ਇੱਕ ਅਣ-ਪ੍ਰਮਾਣਿਤ ਸਿਹਤ-ਜਾਂਚ ਅੰਤਮ ਬਿੰਦੂ ਨੂੰ ਇੱਕ ਅਣ-ਪ੍ਰਮਾਣਿਤ ਅੰਤਮ ਬਿੰਦੂ ਵਾਂਗ ਹੀ ਮੰਨਦੀ ਹੈ ਜੋ ਗਾਹਕ ਰਿਕਾਰਡ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕੋ ਜਿਹੀ ਸਮੱਸਿਆ ਨਹੀਂ ਹਨ, ਅਤੇ ਇੱਕ ਤਰਜੀਹ ਮਾਡਲ ਜੋ ਉਹਨਾਂ ਨੂੰ ਇੱਕੋ ਜਿਹਾ ਸਕੋਰ ਦਿੰਦਾ ਹੈ, ਤੁਹਾਡੀਆਂ ਟੀਮਾਂ ਨੂੰ ਸੂਚੀ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਲਈ ਸਿਖਲਾਈ ਦਿੰਦਾ ਹੈ।
Xygeni ਹਰੇਕ ਐਂਡਪੁਆਇੰਟ ਦੁਆਰਾ ਹੈਂਡਲ ਕੀਤੇ ਗਏ ਡੇਟਾ ਨੂੰ ਵਰਗੀਕ੍ਰਿਤ ਕਰਦਾ ਹੈ, ਬੇਨਤੀ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਜਵਾਬਾਂ ਵਿੱਚ PII, PCI ਅਤੇ PHI ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਐਂਡਪੁਆਇੰਟ ਦੀ ਪ੍ਰਮਾਣੀਕਰਨ ਸਥਿਤੀ ਨਾਲ ਜੋੜਦਾ ਹੈ।
ਇਹ ਉਹਨਾਂ ਖੋਜਾਂ ਨੂੰ ਵੀ ਆਪਸ ਵਿੱਚ ਜੋੜਦਾ ਹੈ ਜੋ ਇੱਕੋ ਅੰਤਮ ਬਿੰਦੂ 'ਤੇ ਆਉਂਦੀਆਂ ਹਨ ਅਤੇ ਜਦੋਂ ਉਹ ਮਿਸ਼ਰਿਤ ਹੁੰਦੀਆਂ ਹਨ ਤਾਂ ਗੰਭੀਰਤਾ ਵਧਾਉਂਦੀਆਂ ਹਨ। ਇੱਕ ਜਵਾਬ ਵਿੱਚ ਇੱਕ PII ਲੀਕ ਆਪਣੇ ਆਪ ਵਿੱਚ ਇੱਕ ਗੰਭੀਰ ਖੋਜ ਹੈ। ਇੱਕ ਅੰਤਮ ਬਿੰਦੂ 'ਤੇ ਉਹੀ ਲੀਕ ਜਿਸ ਲਈ ਕਿਸੇ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ ਹੈ, ਮਹੱਤਵਪੂਰਨ ਹੈ, ਅਤੇ ਪਲੇਟਫਾਰਮ ਇਸਨੂੰ ਕਿਸੇ ਨੂੰ ਹੱਥੀਂ ਨੋਟਿਸ ਕਰਨ ਲਈ ਕਨੈਕਸ਼ਨ ਛੱਡਣ ਦੀ ਬਜਾਏ ਇਸ ਤਰ੍ਹਾਂ ਸਕੋਰ ਕਰਦਾ ਹੈ।
ਜ਼ੋਂਬੀ ਅਤੇ ਅਨਾਥ ਅੰਤ ਬਿੰਦੂ: ਕੋਡ ਅਤੇ ਸਪੈਕ ਵਿਚਕਾਰ ਵਹਿਣਾ
ਕਿਉਂਕਿ Xygeni ਤੁਹਾਡੇ ਕੋਡ ਅਤੇ ਤੁਹਾਡੇ API ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਨੂੰ ਨਾਲ-ਨਾਲ ਪੜ੍ਹਦਾ ਹੈ, ਇਹ ਦੇਖਦਾ ਹੈ ਕਿ ਉਹ ਕਿੱਥੇ ਅਸਹਿਮਤ ਹਨ। ਉਹ ਡ੍ਰਿਫਟ ਤਿੰਨ ਪਛਾਣਨਯੋਗ ਪੈਟਰਨਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ:
- ਗੈਰ-ਦਸਤਾਵੇਜ਼ੀ ਅੰਤਮ ਬਿੰਦੂ। ਉਹ ਕੋਡ ਵਿੱਚ ਰਹਿੰਦੇ ਹਨ ਅਤੇ ਕਦੇ ਵੀ ਸਪੇਕ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੇ ਗਏ।
- ਜ਼ੋਂਬੀ ਐਂਡਪੁਆਇੰਟ। ਉਹਨਾਂ ਨੂੰ ਨਾਪਸੰਦ ਜਾਂ ਸੇਵਾਮੁਕਤ ਵਜੋਂ ਚਿੰਨ੍ਹਿਤ ਕੀਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਉਹ ਅਜੇ ਵੀ ਪਹੁੰਚਯੋਗ ਹਨ।
- ਅਨਾਥ ਅੰਤਮ ਬਿੰਦੂ। ਮੌਜੂਦਾ ਟੀਮ ਵਿੱਚ ਕੋਈ ਵੀ ਇਨ੍ਹਾਂ ਦਾ ਮਾਲਕ ਨਹੀਂ ਹੈ।
ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਸਿਰਫ਼-ਵਿਸ਼ੇਸ਼ ਵਸਤੂ ਸੂਚੀ ਵਿੱਚ ਨਹੀਂ ਦਿਖਾਈ ਦਿੰਦਾ, ਕਿਉਂਕਿ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਹੀ ਉਹਨਾਂ ਦੀ ਘਾਟ ਹੈ।
ਸਬੂਤ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਕਾਰਵਾਈ ਕਰ ਸਕਦੇ ਹੋ, ਜਾਂਚ ਲਈ ਟਿਕਟ ਨਹੀਂ
ਹਰੇਕ ਖੋਜ ਜ਼ਿੰਮੇਵਾਰ ਹੈਂਡਲਰ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ: ਫਾਈਲ, ਕਲਾਸ, ਵਿਧੀ, ਅਤੇ ਖਾਸ ਲਾਈਨ ਜਿਸਨੇ ਨੁਕਸ ਪੇਸ਼ ਕੀਤਾ, ਇਸਦੇ ਨਾਲ ਪੇਸ਼ ਕੀਤੇ ਗਏ ਅਪਰਾਧਕ ਕੋਡ ਦੇ ਨਾਲ। ਹਰੇਕ ਦੀ ਆਪਣੀ ਗੰਭੀਰਤਾ, ਇਸਦੀ OWASP API ਸੁਰੱਖਿਆ ਸਿਖਰ 10 ਸ਼੍ਰੇਣੀ, ਇਸਦੀ CWE, ਅੰਤਮ ਬਿੰਦੂ ਦੀ ਪ੍ਰਮਾਣੀਕਰਨ ਸਥਿਤੀ, ਅਤੇ ਸ਼ਾਮਲ ਡੇਟਾ ਦੀ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਵਰਗੀਕਰਣ ਵੀ ਹੁੰਦੀ ਹੈ।
ਇੱਕ ਖੋਜ ਜੋ ਸਿਰਫ਼ ਇੱਕ ਅੰਤਮ ਬਿੰਦੂ ਦਾ ਨਾਮ ਦਿੰਦੀ ਹੈ, ਇੱਕ ਡਿਵੈਲਪਰ ਨੂੰ ਕੋਡਬੇਸ ਦੀ ਭਾਲ ਵਿੱਚ ਭੇਜਦੀ ਹੈ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਉਹ ਕੁਝ ਵੀ ਠੀਕ ਕਰਨਾ ਸ਼ੁਰੂ ਕਰ ਸਕੇ। ਇੱਕ ਖੋਜ ਜੋ ਲਾਈਨ ਦਾ ਨਾਮ ਦਿੰਦੀ ਹੈ, ਉਹਨਾਂ ਨੂੰ ਤੁਰੰਤ ਹੱਲ 'ਤੇ ਪਾਉਂਦੀ ਹੈ।
ਖੋਜਾਂ ਨੂੰ JSON, CSV, Markdown ਅਤੇ SARIF 2.1.0 ਦੇ ਰੂਪ ਵਿੱਚ ਨਿਰਯਾਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਉਹ t ਵਿੱਚ ਉਤਰਦੇ ਹਨਓਏ ਤੁਹਾਡੀਆਂ ਟੀਮਾਂ ਪਹਿਲਾਂ ਹੀ ਕੰਮ ਕਰ ਰਹੀਆਂ ਹਨ।
ਹੈਂਡਲਰ, ਲਾਈਨ, ਅਤੇ ਕੋਡ ਜਿਸਨੇ ਐਕਸਪੋਜ਼ਰ ਨੂੰ ਪੇਸ਼ ਕੀਤਾ। ਜਾਂਚ ਕਰਨ ਲਈ ਟਿਕਟ ਨਹੀਂ।
ਇਹ ਇੱਕ ਪਲੇਟਫਾਰਮ ਵਿੱਚ ਕਿਉਂ ਰਹਿੰਦਾ ਹੈ, ਦੂਜੇ ਕੰਸੋਲ ਵਿੱਚ ਨਹੀਂ
Xygeni API ਸੁਰੱਖਿਆ ਨੂੰ ਨਾਲ ਚਲਾਉਂਦਾ ਹੈ SAST, SCA, ਗੁਪਤ ਸੁਰੱਖਿਆ, IaC ਅਤੇ DAST ਇੱਕ ਸਿੰਗਲ ਪਲੇਟਫਾਰਮ ਦੇ ਅੰਦਰ, ਦੁਆਰਾ ਸਬੰਧਿਤ ASPM, ਇਸਨੂੰ ਆਪਣੇ ਨਾਲ ਇੱਕ ਵੱਖਰੇ ਟੂਲ ਵਜੋਂ ਭੇਜਣ ਦੀ ਬਜਾਏ login ਅਤੇ ਇਸਦਾ ਆਪਣਾ ਬੈਕਲਾਗ।
ਇਹ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ ਕਿਉਂਕਿ ਸਟੈਟਿਕ ਫਾਈਂਡਿੰਗਜ਼ ਅਤੇ ਰਨਟਾਈਮ ਫਾਈਂਡਿੰਗਜ਼ ਇੱਕੋ ਐਂਡਪੁਆਇੰਟ ਬਾਰੇ ਵੱਖ-ਵੱਖ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਇਕੱਠੇ ਵੱਖਰੇ ਹੋਣ ਨਾਲੋਂ ਵਧੇਰੇ ਲਾਭਦਾਇਕ ਹਨ। ਸਟੈਟਿਕ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਇੱਕ ਐਂਡਪੁਆਇੰਟ ਸ਼ਿਪ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜੋਖਮ ਭਰਿਆ ਹੁੰਦਾ ਹੈ। DAST ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਅਸਲ ਵਿੱਚ ਕੀ ਪਹੁੰਚਯੋਗ ਹੈ ਅਤੇ ਇੱਕ ਵਾਰ ਜਦੋਂ ਇਹ ਚੱਲ ਰਿਹਾ ਹੈ ਤਾਂ ਕੀ ਸ਼ੋਸ਼ਣਯੋਗ ਹੈ।
ਇਸਨੂੰ ਦੋ ਕੰਸੋਲ ਵਿੱਚ ਵੰਡੋ ਅਤੇ ਸਹਿ-ਸੰਬੰਧਿਤ ਜੋਖਮ ਦੋ ਗੈਰ-ਸੰਬੰਧਿਤ ਬੈਕਲਾਗ ਬਣ ਜਾਂਦੇ ਹਨ। ਕੋਈ ਵੀ ਉਹਨਾਂ ਦਾ ਮੇਲ ਨਹੀਂ ਕਰਦਾ, ਅਤੇ ਅੰਤਮ ਬਿੰਦੂ ਜੋ ਕਿ ਗੈਰ-ਦਸਤਾਵੇਜ਼ੀ ਅਤੇ ਗੈਰ-ਪ੍ਰਮਾਣਿਤ ਦੋਵੇਂ ਹੈ, ਕਿਸੇ ਵੀ ਕਤਾਰ ਵਿੱਚ ਨਹੀਂ ਬੈਠਦਾ।
ਆਪਣੀ ਅਸਲ API ਹਮਲੇ ਦੀ ਸਤ੍ਹਾ ਵੇਖੋ। API ਸੁਰੱਖਿਆ ਇੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਉਪਲਬਧ ਹੈ Enterprise Xygeni ਪਲੇਟਫਾਰਮ ਵਿੱਚ ਐਡ-ਆਨ, ਅਤੇ ਤੁਹਾਡੇ ਆਪਣੇ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੇ ਅੰਦਰ ਤੁਹਾਡੇ ਆਪਣੇ ਰਿਪੋਜ਼ਟਰੀਆਂ ਦੇ ਵਿਰੁੱਧ ਇੱਕ ਸਕੈਨ ਚੱਲਦਾ ਹੈ।
ਸਵਾਲ
ਕੀ ਇਹ ਦੱਸ ਸਕਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਐਂਡਪੁਆਇੰਟ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਸੰਭਾਲਦੇ ਹਨ?
ਹਾਂ। Xygeni ਐਂਡਪੁਆਇੰਟ ਪੈਰਾਮੀਟਰਾਂ ਅਤੇ ਜਵਾਬਾਂ ਵਿੱਚ PII, PCI ਅਤੇ PHI ਨੂੰ ਫਲੈਗ ਕਰਦਾ ਹੈ, ਅਤੇ ਅਸਲ ਐਕਸਪੋਜ਼ਰ ਦੁਆਰਾ ਖੋਜਾਂ ਨੂੰ ਦਰਜਾ ਦੇਣ ਲਈ ਉਸ ਵਰਗੀਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।
ਕੀ ਇਹ ਹਰ ਇੱਕ 'ਤੇ ਚੱਲ ਸਕਦਾ ਹੈ? pull request?
ਹਾਂ। ਇੰਕਰੀਮੈਂਟਲ ਸਕੈਨਿੰਗ ਸਿਰਫ਼ ਬਦਲੇ ਹੋਏ ਐਂਡਪੁਆਇੰਟਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਹ ਜੋ ਮੈਨੀਫੈਸਟ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਉਹ ਬਾਅਦ ਵਾਲੇ DAST ਸਕੈਨ ਨੂੰ ਉਨ੍ਹਾਂ ਹੀ ਐਂਡਪੁਆਇੰਟਾਂ 'ਤੇ ਫੋਕਸ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਸਟੈਟਿਕ ਅਤੇ ਰਨਟਾਈਮ ਟੈਸਟਿੰਗ ਅਸਲ ਵਿੱਚ ਕੀ ਬਦਲਿਆ ਹੈ ਉਸ ਨਾਲ ਇਕਸਾਰ ਰਹਿੰਦੇ ਹਨ।
ਕੀ ਮੇਰਾ ਕੋਡ ਮੇਰੇ ਵਾਤਾਵਰਣ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ?
ਨਹੀਂ। ਸਕੈਨ ਤੁਹਾਡੇ ਆਪਣੇ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਵਿੱਚ ਚੱਲਦੇ ਹਨ। ਸਿਰਫ਼ ਨਤੀਜੇ ਅੱਪਲੋਡ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਆਵਾਜਾਈ ਦੌਰਾਨ ਅਤੇ ਆਰਾਮ ਕਰਨ ਵੇਲੇ ਸੁਰੱਖਿਅਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ।
ਮੈਂ API ਸੁਰੱਖਿਆ ਕਿਵੇਂ ਪ੍ਰਾਪਤ ਕਰਾਂ?
API ਸੁਰੱਖਿਆ ਇੱਕ ਦੇ ਰੂਪ ਵਿੱਚ ਉਪਲਬਧ ਹੈ Enterprise ਐਡ-ਆਨ। ਇੱਕ PoC ਦੀ ਬੇਨਤੀ ਕਰੋ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਨਾਲ ਸਕੋਪ ਕੀਤਾ ਜਾਵੇਗਾ।





