ਸਮੱਸਿਆ: ਅੰਨ੍ਹਾ ਭਰੋਸਾ
ਜਦੋਂ ਤੁਸੀਂ ਬੇਬੀ ਮਾਨੀਟਰ ਐਪ ਇੰਸਟਾਲ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਬਹੁਤ ਨਿੱਜੀ ਜਗ੍ਹਾ—ਆਪਣੇ ਬੱਚੇ ਦੇ ਕਮਰੇ—ਦੀ ਪਹੁੰਚ ਦਿੰਦੇ ਹੋ। ਐਪ ਸੁਣਦੀ ਹੈ ਅਤੇ ਕਈ ਵਾਰ ਵੇਖਦੀ ਵੀ ਹੈ। ਇਸੇ ਵੇਲੇ ਮਾਪਿਆਂ ਨੂੰ ਅਕਸਰ ਇਹ ਨਹੀਂ ਦਿਸਦਾ ਕਿ ਪਿੱਛੇ ਕੀ ਹੁੰਦਾ ਹੈ: ਕੀ ਸਟ੍ਰੀਮ ਤੀਜੀ ਧਿਰ ਦੇ ਸਰਵਰਾਂ ਰਾਹੀਂ ਜਾਂਦੀਆਂ ਹਨ, ਕੀ ਵਰਤੋਂ ਦਾ ਡਾਟਾ ਇਕੱਠਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ ਕਿਸ ਕੋਲ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਤੱਕ ਪਹੁੰਚ ਹੋ ਸਕਦੀ ਹੈ?
ਸੱਚਾ ਜਵਾਬ ਇਹ ਹੈ: ਕਈ ਐਪਾਂ ਨਾਲ ਤੁਹਾਨੂੰ ਪਤਾ ਨਹੀਂ ਹੁੰਦਾ। ਕੋਡ ਬੰਦ ਹੁੰਦਾ ਹੈ ਅਤੇ ਆਰਕੀਟੈਕਚਰ ਸਿਰਫ਼ ਇੱਕ ਦਾਅਵਾ ਬਣ ਕੇ ਰਹਿ ਜਾਂਦਾ ਹੈ। ਆਖ਼ਰਕਾਰ ਤੁਹਾਨੂੰ ਪ੍ਰਦਾਤਾ ਦੀ ਗੱਲ ਮੰਨਣ ਲਈ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਬੰਦ ਕੋਡ, ਖੁੱਲ੍ਹੀਆਂ ਕਮਜ਼ੋਰੀਆਂ
ਪਿਛਲੇ ਕੁਝ ਸਾਲਾਂ ਵਿੱਚ ਹੈਕ ਹੋਏ ਬੇਬੀ ਮਾਨੀਟਰਾਂ ਬਾਰੇ ਕਾਫ਼ੀ ਰਿਪੋਰਟਾਂ ਆਈਆਂ ਹਨ। ਅਜਨਬੀ ਸੁਣ ਸਕਦੇ ਸਨ, ਕੈਮਰੇ ਹਿਲਾ ਸਕਦੇ ਸਨ ਜਾਂ ਸਪੀਕਰਾਂ ਰਾਹੀਂ ਬੋਲ ਸਕਦੇ ਸਨ। ਜ਼ਿਆਦਾਤਰ ਵਾਰ ਇਹ ਕੋਈ ਅਜੀਬ ਹਮਲੇ ਨਹੀਂ ਸਨ, ਸਗੋਂ ਗੰਭੀਰ ਖਾਮੀਆਂ ਸਨ: ਬਿਨਾਂ ਇਨਕ੍ਰਿਪਸ਼ਨ ਵਾਲੇ ਕਨੈਕਸ਼ਨ, ਡਿਫੌਲਟ ਪਾਸਵਰਡ ਅਤੇ ਗੁੰਮ ਪ੍ਰਮਾਣਿਕਤਾ।
ਮਲਕੀਅਤ ਵਾਲੇ ਸੌਫਟਵੇਅਰ ਵਿੱਚ ਬਾਹਰਲੇ ਲੋਕਾਂ ਨੂੰ ਅਕਸਰ ਇਹ ਕਮਜ਼ੋਰੀਆਂ ਕਿਸੇ ਘਟਨਾ ਤੋਂ ਬਾਅਦ ਹੀ ਦਿਸਦੀਆਂ ਹਨ। ਸੁਰੱਖਿਆ ਖੋਜਕਰਤਾ, ਸੁਤੰਤਰ ਡਿਵੈਲਪਰ ਅਤੇ ਮਾਪੇ ਤਿਆਰ ਉਤਪਾਦ ਨੂੰ ਬਾਹਰੋਂ ਹੀ ਵੇਖਦੇ ਹਨ। ਬੱਚੇ ਦੇ ਕਮਰੇ ਵਿੱਚ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਡਿਵਾਈਸ ਲਈ ਇਹ ਕਮਜ਼ੋਰ ਤਰੀਕਾ ਹੈ।
ਸੁਰੱਖਿਆ ਦੇ ਸਿਧਾਂਤ ਵਜੋਂ ਪਾਰਦਰਸ਼ਤਾ
ਜਾਣਕਾਰੀ ਸੁਰੱਖਿਆ ਦਾ ਇੱਕ ਪੁਰਾਣਾ ਤੇ ਲਾਭਦਾਇਕ ਨਿਯਮ ਹੈ: ਕੇਰਖੋਫ਼ਸ ਦਾ ਸਿਧਾਂਤ. ਸੁਰੱਖਿਆ ਇਸ ਗੱਲ 'ਤੇ ਨਿਰਭਰ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਕਿ ਡਿਜ਼ਾਇਨ ਗੁਪਤ ਰਹੇ। ਸਿਸਟਮ ਉਸ ਵੇਲੇ ਵੀ ਸੁਰੱਖਿਅਤ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ ਜਦੋਂ ਕਿਸੇ ਨੂੰ ਪਤਾ ਹੋਵੇ ਕਿ ਇਹ ਕਿਵੇਂ ਬਣਿਆ ਹੈ।
ਖੁੱਲ੍ਹੇ ਤੌਰ 'ਤੇ ਦਸਤਾਵੇਜ਼ਬੱਧ ਕੋਡ ਆਪਣੇ ਆਪ ਸੌਫਟਵੇਅਰ ਨੂੰ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਬਣਾਉਂਦਾ। ਪਰ ਇਹ ਦਾਅਵਿਆਂ ਦੀ ਜਾਂਚ ਸੰਭਵ ਬਣਾਉਂਦਾ ਹੈ। ਖੇਤਰ ਨੂੰ ਸਮਝਣ ਵਾਲੇ ਲੋਕ ਮਾਰਕੀਟਿੰਗ ਲਿਖਤ ਪੜ੍ਹਨ ਦੀ ਬਜਾਏ ਡਾਟਾ ਫ਼ਲੋ, ਕੀ ਡੈਰੀਵੇਸ਼ਨ ਅਤੇ ਨਿਯਮਾਂ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹਨ।
Timmy ਦਾ ਤਰੀਕਾ: ਵੱਖਰਾ ਸੁਰੱਖਿਆ ਕੋਰ
Timmy ਵਿੱਚ ਮੈਂ ਹੁਣ ਬਹੁਤ ਸਾਫ਼ ਤੌਰ 'ਤੇ ਵੱਖ ਕਰਦਾ ਹਾਂ ਕਿ ਕਿਹੜੇ ਹਿੱਸੇ ਵਾਕਈ ਸੁਰੱਖਿਆ ਲਈ ਅਹਿਮ ਹਨ। ਹਰ UI ਲਾਈਨ ਇਹ ਤੈਅ ਨਹੀਂ ਕਰਦੀ ਕਿ ਉਤਪਾਦ ਭਰੋਸੇ ਦੇ ਯੋਗ ਹੈ ਜਾਂ ਨਹੀਂ। ਫ਼ੈਸਲਾਕੁਨ ਹਿੱਸੇ ਬੈਕਐਂਡ ਲੌਜਿਕ, ਸਿਗਨਲਿੰਗ ਕਾਂਟ੍ਰੈਕਟ, ਪੇਅਰਿੰਗ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਅਤੇ ਇਹ ਸਵਾਲ ਹਨ ਕਿ ਕਿਹੜਾ ਡਾਟਾ ਸਰਵਰ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ।
ਇਸੇ ਲਈ ਸੁਰੱਖਿਆ ਕੋਰ ਹੁਣ ਜਨਤਕ baby-monitor-timmy-core ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਹੈ। ਪੂਰਾ ਐਪ ਕੋਡ ਇਸ ਵੇਲੇ ਜਨਤਕ ਨਹੀਂ ਹੈ। ਸੁਰੱਖਿਆ ਲਈ ਅਹਿਮ ਬਿਲਡਿੰਗ ਬਲੌਕਾਂ ਨੂੰ UI ਅਤੇ ਉਤਪਾਦ ਲੌਜਿਕ ਤੋਂ ਵੱਖ ਕੀਤਾ ਗਿਆ ਹੈ, ਤਾਂ ਜੋ ਉਹਨਾਂ ਦਾ ਆਪਣੀ ਤਰ੍ਹਾਂ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਅਤੇ ਸਮੀਖਿਆ ਹੋ ਸਕੇ।
ਇਸਦਾ ਅਮਲੀ ਤੌਰ 'ਤੇ ਕੀ ਮਤਲਬ ਹੈ?
- ਸਪਸ਼ਟ ਹੱਦਾਂ: ਸੁਰੱਖਿਆ ਬਿਲਡਿੰਗ ਬਲੌਕ UI ਅਤੇ ਉਤਪਾਦ ਲੌਜਿਕ ਤੋਂ ਵੱਖ ਹਨ।
- ਆਡਿਟ ਹੋ ਸਕਣ ਵਾਲੇ ਡਾਟਾ ਫ਼ਲੋ: ਪੇਅਰਿੰਗ, ਸਿਗਨਲਿੰਗ ਅਤੇ ਬੈਕਐਂਡ ਇੰਟਰਫੇਸਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਸਤਾਵੇਜ਼ਬੱਧ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
- ਕੋਈ ਲੁਕੇ ਹੋਏ ਟ੍ਰੈਕਰ ਨਹੀਂ: ਅਹਿਮ ਰਾਹਾਂ ਵਿੱਚ ਸਿਰਫ਼ ਉਹੀ ਹੈ ਜੋ ਤਕਨੀਕੀ ਤੌਰ 'ਤੇ ਉੱਥੇ ਲੋੜੀਂਦਾ ਹੈ।
- ਲੰਬੇ ਸਮੇਂ ਦੀ ਸੰਭਾਲ: ਵੱਖਰੇ ਕੋਰ ਦੀ ਸਮੀਖਿਆ ਬੇਤਰਤੀਬੇ ਮੋਨੋਲਿਥ ਨਾਲੋਂ ਆਸਾਨ ਹੁੰਦੀ ਹੈ।
ਨਤੀਜਾ: ਮਾਪੇ ਪਾਰਦਰਸ਼ਤਾ ਦੇ ਹੱਕਦਾਰ ਹਨ
ਜਦੋਂ ਕਿਸੇ ਐਪ ਕੋਲ ਬੱਚੇ ਦੇ ਕਮਰੇ ਦੀ ਪਹੁੰਚ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਉਸਨੂੰ ਅਹਿਮ ਸਵਾਲਾਂ ਦੇ ਸਪਸ਼ਟ ਜਵਾਬ ਦੇਣੇ ਚਾਹੀਦੇ ਹਨ: ਕਿਹੜਾ ਡਾਟਾ ਬਣਦਾ ਹੈ? ਇਹ ਕਿੱਥੇ ਜਾਂਦਾ ਹੈ? ਇਸਨੂੰ ਕੌਣ ਪੜ੍ਹ ਸਕਦਾ ਹੈ? ਮਾਪੇ ਫੁੱਟਰ ਵਿੱਚ ਲੱਗੇ ਗੋਪਨੀਯਤਾ ਬੈਜ ਤੋਂ ਵੱਧ ਦੇ ਹੱਕਦਾਰ ਹਨ।
Baby Monitor Timmy ਨੂੰ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਇੱਕ ਚੰਗਾ ਉਤਪਾਦ ਅਤੇ ਆਡਿਟ ਹੋ ਸਕਣ ਵਾਲੀ ਸੁਰੱਖਿਆ ਇਕੱਠੇ ਚੱਲ ਸਕਦੇ ਹਨ। ਮੇਰੇ ਲਈ ਇਸਦਾ ਮਤਲਬ ਐਪ ਦਾ ਹਰ ਕੋਨਾ ਜਨਤਕ ਕਰਨਾ ਨਹੀਂ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਉਹ ਹਿੱਸੇ ਖੋਲ੍ਹਣਾ ਹੈ ਜੋ ਪੇਅਰਿੰਗ, ਸਿਗਨਲਿੰਗ, ਬੈਕਐਂਡ ਪਹੁੰਚ ਅਤੇ ਡਾਟਾ ਫ਼ਲੋ ਤੈਅ ਕਰਦੇ ਹਨ।